Metadata-Version: 2.4
Name: pandas-survey-toolkit
Version: 1.0.12
Summary: A pandas extension for survey analysis
Home-page: https://github.com/Andy7475/pandas-survey-toolkit
Author: Andy Laing
Author-email: andylaing5@gmail.com
License: MIT
Project-URL: Bug Tracker, https://github.com/Andy7475/pandas-survey-toolkit/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch<3.0,>=2.1.0
Requires-Dist: sentence-transformers<4.0,>=3.0
Requires-Dist: umap-learn<1.0,>=0.5
Requires-Dist: scikit-learn<2.0,>=1.3
Requires-Dist: pandas<3.0,>=2.2.0
Requires-Dist: numpy<2.0,>=1.26.0
Requires-Dist: pandas-flavor<1.0,>=0.6.0
Requires-Dist: spacy<4.0,>=3.0.0
Requires-Dist: gensim<5.0,>=4.3.3
Requires-Dist: scipy<1.15.0,>=1.10.0
Requires-Dist: altair<5.0,>=4.0.0
Requires-Dist: matplotlib<4.0,>=3.0.0
Requires-Dist: pyvis<1.0,>=0.3.2
Requires-Dist: transformers<5.0,>=4.20.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Faster and more Insightful analysis of survey results

This package lets you apply advanced Natural Language Processing (NLP) and Machine Learning functions on survey results directly within a dataframe.

It fills a gap where many NLP packages (like spacy, genism, sentence_transformers) are not designed for data in a spreadsheet (and therefore imported into a dataframe), and  many of the people who are tasked with analysing survey results are often not data scientists.

For example, to extract the sentiment you can just type:

df.extract_sentiment(input_column="survey-comments")

It will abstract away a lot of the data transformation pipeline to give you useful functionality with minimal code.

# Examples

See [ReadTheDocs](https://pandas-survey-toolkit.readthedocs.io/en/latest/) for simple example notebooks. There are more detailed notebooks in the repo under notebooks/

# Functionality

## Clustering comments
It will group similar free-text comments together and assign a cluster ID. This is a useful step prior to any qualitative analysis.

## Sentiment Analysis
It will measure the sentiment in terms or postive / neutral / negative and assign a score for each of those parts, picking the highest scoring as the most likely overall sentiment.

## Topic analysis
Involves TFIDF and word co-occurence to gain some high level insights into the likely topics

## Clustering likert questions (or other responses)
For strongly disagree ... neutral ... strong agree type responses, it will groups all those questions together to identity groups of respondents within your survey data. This can be much more useful than overall averages across the survey.

## Visualisation
Functions to help make sense of the clusters and topics you have identified using the above functions (in development)

## Setup
If sentence transformers throws dll errors: https://stackoverflow.com/questions/78484297/c-torch-lib-fbgemm-dll-or-one-of-its-dependencies/78794748#78794748


