# HintlyDataAnalysis – Mathematical, Financial, and Textual Analysis Library
## Table of Contents
- [Description](#description)
- [Installation](#installation)
- [Usage](#usage)
- [Math](#calculate-mean)
- [Finance](#financial-angles)
- [Text](#count-interpunctions)
- [API](#api)
- [Math](#math)
- [Finance](#finance)
- [Text](#text)
- [Authors](#authors)
- [License](#license)
## Description
HintlyDataAnalysis is a Python library designed for performing a variety of mathematical, financial, and textual analyses. The library offers functions to calculate means, percentage differences, data normalization, number repetition, financial angles, word counting, and text normalization.
## Installation
You can install the library using pip:
pip install HintlyDataAnalysis
## Usage
After installation, import the library to access the functionalities.
Example Usage:
from HintlyDataAnalysis import Math, Finance, Text, FilterType, NormalizeType
### Calculate mean
mean_value = Math.Mean([1, 2, 3, 4])
### Calculate percentage difference
percent_diff = Math.Difference(100, 120)
### Normalize data
normalized_data = Math.Normalize([10, 15, 20], 100)
### Weighted average
weighted_avg = Math.WeightedAverage([10, 20, 30], [1, 2, 3])
### Number repetition
num_repeats = Math.NumberRepeat([1, 2, 2, 3, 3, 3])
### Financial angles
angles = Finance.FinancialAngle([100, 120, 80], 50)
### Financial chance
chance = Finance.FinanceChance([1, 2, 2, 3, 3, 3])
### Count interpunctions
interpunctions = Text.CountInterpunctions("This is a test, with punctuation!")
### Count signs
signs = Text.CountSigns("This is a test", lowerSigns=True)
### Count specific word
word_count = Text.CountWord("This is a test", "test")
### Normalize text
normalized_text = Text.NormalizeText("This is a TEST!", NormalizeType.LowText)
print(mean_value, percent_diff, normalized_data, weighted_avg, num_repeats, angles, chance)
## API
### Math
#### Math.Mean(analisysData: list)
Calculates the arithmetic mean of a list of numbers.
- **Parameters**:
`analisysData` (list): List of numbers to calculate the mean from.
- **Returns**:
The mean value of the data.
#### Math.Difference(a: float, b: float)
Calculates the percentage difference between two numbers.
- **Parameters**:
`a` (float): The base number.
`b` (float): The second number.
- **Returns**:
Percentage difference between `a` and `b`.
#### Math.Normalize(analisysData: list, normalizeNumber: int)
Normalizes a list of numbers relative to the largest value, scaling them to `normalizeNumber`.
- **Parameters**:
`analisysData` (list): List of numbers to normalize.
`normalizeNumber` (int): Value to normalize the data against.
- **Returns**:
A list of normalized data.
#### Math.WeightedAverage(analisysData: list, weights: list)
Calculates the weighted average of the data using the given weights.
- **Parameters**:
`analisysData` (list): List of numbers.
`weights` (list): List of weights corresponding to each number.
- **Returns**:
The weighted average of the data.
#### Math.NumberRepeat(numbers: list)
Counts the occurrences of each number in a list.
- **Parameters**:
`numbers` (list): List of numbers to analyze.
- **Returns**:
A dictionary where keys are numbers and values are the counts of their occurrences.
### Finance
#### Finance.FinancialAngle(amounts: list, max_change: int)
Calculates the "financial angle" based on changes in the amounts over time.
- **Parameters**:
`amounts` (list): List of financial amounts.
`max_change` (int): The maximum possible change in value.
- **Returns**:
A list of angles in degrees (0–180) representing changes between amounts.
#### Finance.FinanceChance(numbers: list)
Calculates the probability of each number occurring in the list.
- **Parameters**:
`numbers` (list): List of numbers to analyze.
- **Returns**:
A dictionary with each number's chance of occurring, expressed as a percentage.
### Text
#### Text.CountInterpunctions(text: str)
Counts the occurrences of specific punctuation marks in the provided text.
- **Parameters**:
`text` (str): The text to analyze.
- **Returns**:
A dictionary where the keys are punctuation marks and the values are their occurrences in the text.
#### Text.CountSigns(text: str, lowerSigns: bool)
Counts each unique character (case-sensitive or insensitive) in the text.
- **Parameters**:
`text` (str): The text to analyze.
`lowerSigns` (bool): If `True`, characters will be counted case-insensitively.
- **Returns**:
A dictionary of characters and their counts.
#### Text.CountWord(text: str, word: str)
Counts how many times a word appears in the text.
- **Parameters**:
`text` (str): The text to search within.
`word` (str): The word to count.
- **Returns**:
The number of occurrences of the word.
#### Text.NormalizeText(text: str, normalizeType: NormalizeType)
Normalizes text based on the chosen normalization type (e.g., delete punctuation, convert to lowercase).
- **Parameters**:
`text` (str): The text to normalize.
`normalizeType` (NormalizeType): The type of normalization to apply.
- **Returns**:
The normalized text.
## Authors
#### Franciszek Chmielewski (ferko2610@gmail.com)
## License
This project is licensed under the MIT License. More details can be found in the LICENSE file.
## Version History
- **0.1** – Initial release.
- **0.2** – Added Text class with normalization functions.
### Future Plans
- Add more advanced financial and mathematical analysis tools.
- Expand text analysis capabilities.
Raw data
{
"_id": null,
"home_page": null,
"name": "HintlyDataAnalisys",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "mathematics finance analysis text data ai",
"author": "Franciszek Chmielewski",
"author_email": "ferko2610@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/09/8b/8f0b9b14ef031c42f7596e3b0f0adea05afafcdc847f2c69560aa0c3730b/hintlydataanalisys-0.2.1.tar.gz",
"platform": null,
"description": "\r\n# HintlyDataAnalysis \u00e2\u20ac\u201c Mathematical, Financial, and Textual Analysis Library\r\n\r\n## Table of Contents\r\n- [Description](#description)\r\n- [Installation](#installation)\r\n- [Usage](#usage)\r\n - [Math](#calculate-mean)\r\n - [Finance](#financial-angles)\r\n - [Text](#count-interpunctions)\r\n- [API](#api)\r\n - [Math](#math)\r\n - [Finance](#finance)\r\n - [Text](#text)\r\n- [Authors](#authors)\r\n- [License](#license)\r\n\r\n## Description\r\n\r\nHintlyDataAnalysis is a Python library designed for performing a variety of mathematical, financial, and textual analyses. The library offers functions to calculate means, percentage differences, data normalization, number repetition, financial angles, word counting, and text normalization.\r\n\r\n## Installation\r\n\r\nYou can install the library using pip:\r\n\r\n pip install HintlyDataAnalysis\r\n\r\n## Usage\r\n\r\nAfter installation, import the library to access the functionalities.\r\n\r\nExample Usage:\r\n\r\n from HintlyDataAnalysis import Math, Finance, Text, FilterType, NormalizeType\r\n\r\n### Calculate mean\r\n mean_value = Math.Mean([1, 2, 3, 4])\r\n\r\n### Calculate percentage difference\r\n percent_diff = Math.Difference(100, 120)\r\n\r\n### Normalize data\r\n normalized_data = Math.Normalize([10, 15, 20], 100)\r\n\r\n### Weighted average\r\n weighted_avg = Math.WeightedAverage([10, 20, 30], [1, 2, 3])\r\n\r\n### Number repetition\r\n num_repeats = Math.NumberRepeat([1, 2, 2, 3, 3, 3])\r\n\r\n### Financial angles\r\n angles = Finance.FinancialAngle([100, 120, 80], 50)\r\n\r\n### Financial chance\r\n chance = Finance.FinanceChance([1, 2, 2, 3, 3, 3])\r\n\r\n### Count interpunctions\r\n interpunctions = Text.CountInterpunctions(\"This is a test, with punctuation!\")\r\n\r\n### Count signs\r\n signs = Text.CountSigns(\"This is a test\", lowerSigns=True)\r\n\r\n### Count specific word\r\n word_count = Text.CountWord(\"This is a test\", \"test\")\r\n\r\n### Normalize text\r\n normalized_text = Text.NormalizeText(\"This is a TEST!\", NormalizeType.LowText)\r\n\r\n print(mean_value, percent_diff, normalized_data, weighted_avg, num_repeats, angles, chance)\r\n\r\n## API\r\n\r\n### Math\r\n\r\n#### Math.Mean(analisysData: list)\r\n\r\nCalculates the arithmetic mean of a list of numbers.\r\n\r\n- **Parameters**: \r\n `analisysData` (list): List of numbers to calculate the mean from.\r\n- **Returns**: \r\n The mean value of the data.\r\n\r\n#### Math.Difference(a: float, b: float)\r\n\r\nCalculates the percentage difference between two numbers.\r\n\r\n- **Parameters**: \r\n `a` (float): The base number. \r\n `b` (float): The second number.\r\n- **Returns**: \r\n Percentage difference between `a` and `b`.\r\n\r\n#### Math.Normalize(analisysData: list, normalizeNumber: int)\r\n\r\nNormalizes a list of numbers relative to the largest value, scaling them to `normalizeNumber`.\r\n\r\n- **Parameters**: \r\n `analisysData` (list): List of numbers to normalize. \r\n `normalizeNumber` (int): Value to normalize the data against.\r\n- **Returns**: \r\n A list of normalized data.\r\n\r\n#### Math.WeightedAverage(analisysData: list, weights: list)\r\n\r\nCalculates the weighted average of the data using the given weights.\r\n\r\n- **Parameters**: \r\n `analisysData` (list): List of numbers. \r\n `weights` (list): List of weights corresponding to each number.\r\n- **Returns**: \r\n The weighted average of the data.\r\n\r\n#### Math.NumberRepeat(numbers: list)\r\n\r\nCounts the occurrences of each number in a list.\r\n\r\n- **Parameters**: \r\n `numbers` (list): List of numbers to analyze.\r\n- **Returns**: \r\n A dictionary where keys are numbers and values are the counts of their occurrences.\r\n\r\n### Finance\r\n\r\n#### Finance.FinancialAngle(amounts: list, max_change: int)\r\n\r\nCalculates the \"financial angle\" based on changes in the amounts over time.\r\n\r\n- **Parameters**: \r\n `amounts` (list): List of financial amounts. \r\n `max_change` (int): The maximum possible change in value.\r\n- **Returns**: \r\n A list of angles in degrees (0\u00e2\u20ac\u201c180) representing changes between amounts.\r\n\r\n#### Finance.FinanceChance(numbers: list)\r\n\r\nCalculates the probability of each number occurring in the list.\r\n\r\n- **Parameters**: \r\n `numbers` (list): List of numbers to analyze.\r\n- **Returns**: \r\n A dictionary with each number's chance of occurring, expressed as a percentage.\r\n\r\n### Text\r\n\r\n#### Text.CountInterpunctions(text: str)\r\n\r\nCounts the occurrences of specific punctuation marks in the provided text.\r\n\r\n- **Parameters**: \r\n `text` (str): The text to analyze.\r\n- **Returns**: \r\n A dictionary where the keys are punctuation marks and the values are their occurrences in the text.\r\n\r\n#### Text.CountSigns(text: str, lowerSigns: bool)\r\n\r\nCounts each unique character (case-sensitive or insensitive) in the text.\r\n\r\n- **Parameters**: \r\n `text` (str): The text to analyze. \r\n `lowerSigns` (bool): If `True`, characters will be counted case-insensitively.\r\n- **Returns**: \r\n A dictionary of characters and their counts.\r\n\r\n#### Text.CountWord(text: str, word: str)\r\n\r\nCounts how many times a word appears in the text.\r\n\r\n- **Parameters**: \r\n `text` (str): The text to search within. \r\n `word` (str): The word to count.\r\n- **Returns**: \r\n The number of occurrences of the word.\r\n\r\n#### Text.NormalizeText(text: str, normalizeType: NormalizeType)\r\n\r\nNormalizes text based on the chosen normalization type (e.g., delete punctuation, convert to lowercase).\r\n\r\n- **Parameters**: \r\n `text` (str): The text to normalize. \r\n `normalizeType` (NormalizeType): The type of normalization to apply.\r\n- **Returns**: \r\n The normalized text.\r\n\r\n## Authors\r\n\r\n#### Franciszek Chmielewski (ferko2610@gmail.com)\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. More details can be found in the LICENSE file.\r\n\r\n## Version History\r\n\r\n- **0.1** \u00e2\u20ac\u201c Initial release.\r\n- **0.2** \u00e2\u20ac\u201c Added Text class with normalization functions.\r\n\r\n### Future Plans\r\n\r\n- Add more advanced financial and mathematical analysis tools.\r\n- Expand text analysis capabilities.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Library for mathematical, financial and textual analysis",
"version": "0.2.1",
"project_urls": null,
"split_keywords": [
"mathematics",
"finance",
"analysis",
"text",
"data",
"ai"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "86cd063325d8475c76f980b916e88e8aa57474086c168fe398307c12d6bbb0c9",
"md5": "be0ff80cce207327263bf104e579df4d",
"sha256": "d2d40401104858d7efa5d3b4a39355066b3065cae9ca4d98fb9932170e371de4"
},
"downloads": -1,
"filename": "HintlyDataAnalisys-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "be0ff80cce207327263bf104e579df4d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 5897,
"upload_time": "2024-09-21T15:15:07",
"upload_time_iso_8601": "2024-09-21T15:15:07.238561Z",
"url": "https://files.pythonhosted.org/packages/86/cd/063325d8475c76f980b916e88e8aa57474086c168fe398307c12d6bbb0c9/HintlyDataAnalisys-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "098b8f0b9b14ef031c42f7596e3b0f0adea05afafcdc847f2c69560aa0c3730b",
"md5": "f77360793bfc531f7bd86f2be53f4008",
"sha256": "f096f9f235de3b67c9a5453f2f87a25e5308e8c5219a7c859f96ae306310a9fa"
},
"downloads": -1,
"filename": "hintlydataanalisys-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "f77360793bfc531f7bd86f2be53f4008",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5501,
"upload_time": "2024-09-21T15:15:08",
"upload_time_iso_8601": "2024-09-21T15:15:08.513585Z",
"url": "https://files.pythonhosted.org/packages/09/8b/8f0b9b14ef031c42f7596e3b0f0adea05afafcdc847f2c69560aa0c3730b/hintlydataanalisys-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-21 15:15:08",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "hintlydataanalisys"
}