数据分析-Pandas分类数据的操作方法
数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
数据分析-Pandas如何转换产生新列
数据分析-Pandas如何统计数据概况
数据分析-Pandas如何轻松处理时间序列数据
数据分析-Pandas如何选择数据子集
数据分析-Pandas如何重塑数据表-CSDN博客
实验数据分析处理,股票序列,时间序列,信号序列,有时候表格的数据并不完全是数值类型,也有可能是字符串,或者其他数据,需要做分类处理。pandas如何控制数据分类处理呢?需要配置哪些参数?
分类数据的操作函数
除了min(), max(), mode()函数之外, 分类数据还可以执行以下操作:
例如 value_counts 方法可以统计所有类别出现数量,就算这个列表没有用到:
In [130]: s = pd.Series(pd.Categorical(["a", "b", "c", "c"], categories=["c", "a", "b", "d"]))In [131]: s.value_counts()
Out[131]:
c 2
a 1
b 1
d 0
Name: count, dtype: int64
DataFrame方法,例如sum 也会显示未使用的类别的求和结果。
In [132]: columns = pd.Categorical(.....: ["One", "One", "Two"], categories=["One", "Two", "Three"], ordered=True.....: ).....: In [133]: df = pd.DataFrame(.....: data=[[1, 2, 3], [4, 5, 6]],.....: columns=pd.MultiIndex.from_arrays([["A", "B", "B"], columns]),.....: ).T.....: In [134]: df.groupby(level=1, observed=False).sum()
Out[134]: 0 1
One 3 9
Two 3 6
Three 0 0
Groupby的mean操作, 在以下情况也能适合于未使用类别:
In [135]: cats = pd.Categorical(.....: ["a", "b", "b", "b", "c", "c", "c"], categories=["a", "b", "c", "d"].....: ).....: In [136]: df = pd.DataFrame({"cats": cats, "values": [1, 2, 2, 2, 3, 4, 5]})In [137]: df.groupby("cats", observed=False).mean()
Out[137]: values
cats
a 1.0
b 2.0
c 4.0
d NaNIn [138]: cats2 = pd.Categorical(["a", "a", "b", "b"], categories=["a", "b", "c"])In [139]: df2 = pd.DataFrame(.....: {.....: "cats": cats2,.....: "B": ["c", "d", "c", "d"],.....: "values": [1, 2, 3, 4],.....: }.....: ).....: In [140]: df2.groupby(["cats", "B"], observed=False).mean()
Out[140]: values
cats B
a c 1.0d 2.0
b c 3.0d 4.0
c c NaNd NaN
此外,pivot_table 数据透视表操作:
In [141]: raw_cat = pd.Categorical(["a", "a", "b", "b"], categories=["a", "b", "c"])In [142]: df = pd.DataFrame({"A": raw_cat, "B": ["c", "d", "c", "d"], "values": [1, 2, 3, 4]})In [143]: pd.pivot_table(df, values="values", index=["A", "B"], observed=False)
Out[143]: values
A B
a c 1.0d 2.0
b c 3.0d 4.0
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
大模型查询工具助手之股票免费查询接口
GPT实战系列-简单聊聊LangChain
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案
GPT实战系列-Baichuan2等大模型的计算精度与量化
GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF
GPT实战系列-探究GPT等大模型的文本生成-CSDN博客