数据分析过程工具整合包
Project description
angels
数据分析过程工具整合包,包含数据获取、数据清洗、逻辑加工、分析算法、可视化等五个核心模块。
安装
pip install angels
打包说明
本项目使用现代的 pyproject.toml 打包方式,替代了传统的 setup.py。
核心模块
1. 数据获取 (data_acquisition)
-
load_csv(file_path): 加载CSV文件并返回DataFramefile_path(str): CSV文件的路径- 返回:
pd.DataFrame- 从CSV文件加载的数据
-
load_excel(file_path, sheet_name=0): 加载Excel文件并返回DataFramefile_path(str): Excel文件的路径sheet_name(int, str, optional): 要加载的工作表名称或索引,默认为0- 返回:
pd.DataFrame- 从Excel文件加载的数据
-
load_json(file_path): 加载JSON文件并返回DataFramefile_path(str): JSON文件的路径- 返回:
pd.DataFrame- 从JSON文件加载的数据
-
load_from_api(url, params=None): 从API获取数据并返回DataFrameurl(str): API的URL地址params(dict, optional): 发送到API的参数,默认为None- 返回:
pd.DataFrame- 从API获取的数据 - 异常:
requests.exceptions.HTTPError- 如果API请求失败
-
load_from_web(url, table_selector): 从网页表格获取数据并返回DataFrameurl(str): 网页的URL地址table_selector(str): 用于选择表格的CSS选择器- 返回:
pd.DataFrame- 从网页表格获取的数据 - 异常:
requests.exceptions.HTTPError- 如果网页请求失败
-
fetch_dataframe(sql, db_name='rpt'): 从数据库执行SQL查询并返回DataFramesql(str): 要执行的SQL查询语句db_name(str, optional): 数据库标识,默认为'rpt'- 返回:
pd.DataFrame- 查询结果的DataFrame,如果没有数据则返回空DataFrame - 异常:
ValueError- 如果指定的数据库标识不存在 - 异常:
Exception- 如果执行SQL查询时发生错误
-
fetch_data_from_db(tbl_name, order_sql, db_name, batch_size=20000, batch_no=0): 从数据库批量获取数据并保存为Parquet文件tbl_name(str): 表名order_sql(str): 排序字段db_name(str): 数据库标识batch_size(int, optional): 每批获取的记录数,默认为20000batch_no(int, optional): 起始批次号,默认为0- 返回:
int- 实际执行的批次数 - 异常:
ValueError- 如果指定的数据库标识不存在 - 异常:
Exception- 如果执行SQL查询时发生错误
-
concat_tbl_data(tbl_name): 合并多个Parquet文件为一个文件tbl_name(str): 表名,用于搜索和命名文件- 返回:
None - 功能: 自动搜索当前目录中以
tbl_name_开头并以.pqt结尾的文件,将它们合并为一个名为tbl_name.pqt的文件
2. 数据清洗 (data_cleaning)
remove_duplicates(df): 移除重复行handle_missing_values(df, strategy='drop', fill_value=None): 处理缺失值convert_data_types(df, dtypes=None): 转换数据类型remove_outliers(df, columns=None, method='iqr', threshold=1.5): 移除异常值standardize_columns(df): 标准化列名
3. 逻辑加工 (logic_processing)
group_by_aggregate(df, group_by, aggregations): 按列分组并聚合pivot_table(df, index, columns, values, aggfunc='mean'): 创建透视表calculate_rolling_stats(df, column, window, stats=['mean', 'std']): 计算滚动统计量calculate_diff(df, column, periods=1): 计算差值merge_dataframes(df1, df2, on=None, how='inner'): 合并数据框create_features(df): 创建特征
4. 分析算法 (analysis_algorithms)
descriptive_statistics(df): 计算描述性统计量correlation_analysis(df, method='pearson'): 计算相关性矩阵kmeans_clustering(df, n_clusters=3, random_state=42): K均值聚类linear_regression(X, y): 线性回归time_series_analysis(df, time_column, value_column): 时间序列分析hypothesis_testing(sample1, sample2): 假设检验
5. 可视化 (visualization)
plot_histogram(df, column, bins=30, title=None): 绘制直方图plot_scatter(df, x, y, hue=None, title=None): 绘制散点图plot_bar(df, x, y, title=None): 绘制柱状图plot_box(df, x, y=None, title=None): 绘制箱线图plot_correlation_heatmap(df, title=None): 绘制相关性热图plot_time_series(df, x, y, title=None): 绘制时间序列图
使用示例
from angels import *
# 1. 数据获取
df = load_csv('data.csv')
# 2. 数据清洗
df = remove_duplicates(df)
df = handle_missing_values(df, strategy='mean')
df = standardize_columns(df)
# 3. 逻辑加工
df = group_by_aggregate(df, 'category', {'value': 'sum'})
# 4. 分析算法
stats = descriptive_statistics(df)
corr = correlation_analysis(df)
# 5. 可视化
plt = plot_histogram(df, 'value')
plt.show()
plt = plot_correlation_heatmap(df)
plt.show()
依赖
- pandas
- numpy
- matplotlib
- seaborn
- scikit-learn
- requests
- beautifulsoup4
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file angels-0.1.2.tar.gz.
File metadata
- Download URL: angels-0.1.2.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81970d1d300a7ce31d71857d99a77f275bb9e9e3eae454613640ddf4c39a7699
|
|
| MD5 |
80abcf00d3c533bf33fd0e6f79223c1f
|
|
| BLAKE2b-256 |
525eb09ee818b971c08653fab371d02b6eb3deceee3ac42bbfffe078f9b65d63
|
File details
Details for the file angels-0.1.2-py3-none-any.whl.
File metadata
- Download URL: angels-0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b140542aeb50084d771c1ef27377fc8f83029dd1aff858edff965925af869f22
|
|
| MD5 |
80166cbd22b1612a02fba2ef9b600708
|
|
| BLAKE2b-256 |
4fa8ea6a47a6fcf12910f21ebd4a3c064d2ff5c79b80a4ad4ef84fd886c71086
|