电商网站开发分销商,爱链接,好看的网站颜色,怎么通过网络宣传自己的产品数据分析-Pandas类别的排序和顺序
数据分析和处理中#xff0c;难免会遇到各种数据#xff0c;那么数据呈现怎样的规律呢#xff1f;不管金融数据#xff0c;风控数据#xff0c;营销数据等等#xff0c;莫不如此。如何通过图示展示数据的规律#xff1f;
数据表…数据分析-Pandas类别的排序和顺序
数据分析和处理中难免会遇到各种数据那么数据呈现怎样的规律呢不管金融数据风控数据营销数据等等莫不如此。如何通过图示展示数据的规律
数据表时间序列数据在数据分析建模中很常见例如天气预报空气状态监测股票交易等金融场景。数据分析过程中重新调整重塑数据表是很重要的技巧此处选择Titanic数据以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
数据分析-Pandas如何转换产生新列
数据分析-Pandas如何统计数据概况
数据分析-Pandas如何轻松处理时间序列数据
数据分析-Pandas如何选择数据子集
数据分析-Pandas如何重塑数据表-CSDN博客
本文用到的样例数据
Titanic数据
空气质量监测 N O 2 NO_2 NO2数据
样例代码
源代码参考 Pandas如何重塑数据表
源代码参考 python数据分析-数据表读写到pandas
导入关键模块
import pandas as pd
import numpy as np
实验数据分析处理股票序列时间序列信号序列有时候表格的数据并不完全是数值类型也有可能是字符串或者其他数据需要做分类处理。pandas如何控制数据分类处理呢需要配置哪些参数
排序和顺序
如果分类数据是有序的则类别的顺序是有意义的就存在某些可能操作如.min()/.max()
如果分类数据是无序的如果操作则将引发TypeError
In [88]: s pd.Series(pd.Categorical([a, b, c, a], orderedFalse))
In [89]: s s.sort_values()
In [90]: s pd.Series([a, b, c, a]).astype(CategoricalDtype(orderedTrue))
In [91]: s s.sort_values()In [92]: s
Out[92]:
0 a
3 a
1 b
2 c
dtype: category
Categories (3, object): [a b c]In [93]: s.min(), s.max()
Out[93]: (a, c)也可以设置分类数据为有序使用函数 as_ordered()设置为无序使用函数 as_unordered()这些函数默认返回一个新的对象。
In [94]: s.cat.as_ordered()
Out[94]:
0 a
3 a
1 b
2 c
dtype: category
Categories (3, object): [a b c]In [95]: s.cat.as_unordered()
Out[95]:
0 a
3 a
1 b
2 c
dtype: category
Categories (3, object): [a, b, c]排序将使用类别定义的逻辑顺序而不是数据类型的词法数值顺序即使对于字符串和数值数据也是如此
In [96]: s pd.Series([1, 2, 3, 1], dtypecategory)
In [97]: s s.cat.set_categories([2, 3, 1], orderedTrue)
In [98]: sOut[98]:
0 1
1 2
2 3
3 1
dtype: category
Categories (3, int64): [2 3 1]In [99]: s s.sort_values()
In [100]: sOut[100]:
1 2
2 3
0 1
3 1
dtype: category
Categories (3, int64): [2 3 1]In [101]: s.min(), s.max()
Out[101]: (2, 1)重排序
可以通过Categorical.reorder_categories()对类别进行重新排序。
In [102]: s pd.Series([1, 2, 3, 1], dtypecategory)In [103]: s s.cat.reorder_categories([2, 3, 1], orderedTrue)In [104]: s
Out[104]:
0 1
1 2
2 3
3 1
dtype: category
Categories (3, int64): [2 3 1]In [105]: s s.sort_values()In [106]: s
Out[106]:
1 2
2 3
0 1
3 1
dtype: category
Categories (3, int64): [2 3 1]In [107]: s.min(), s.max()
Out[107]: (2, 1)请注意新增类别和重排序之间的区别重新排序意味着 之后对值进行排序的方式会有所不同。
如果是无序的min() max()函数都会引起错误数值操作函数也如此如median()函数需要计算均值。
多列排序
如果多个类别列参与排序类别的排序取决于该列的类别顺序。
In [108]: dfs pd.DataFrame(.....: {.....: A: pd.Categorical(.....: list(bbeebbaa),.....: categories[e, a, b],.....: orderedTrue,.....: ),.....: B: [1, 2, 1, 2, 2, 1, 2, 1],.....: }.....: ).....: In [109]: dfs.sort_values(by[A, B])
Out[109]: A B
2 e 1
3 e 2
7 a 1
6 a 2
0 b 1
5 b 1
1 b 2
4 b 2如果更改类别进行重新排序那么后面的排序也会跟着变化。
In [110]: dfs[A] dfs[A].cat.reorder_categories([a, b, e])In [111]: dfs.sort_values(by[A, B])
Out[111]: A B
7 a 1
6 a 2
0 b 1
5 b 1
1 b 2
4 b 2
2 e 1
3 e 2以上代码只是一个简单示例示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章
GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案
GPT实战系列-LangChain ChatGLM3构建天气查询助手
大模型查询工具助手之股票免费查询接口
GPT实战系列-简单聊聊LangChain
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(一)
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案
GPT实战系列-Baichuan2等大模型的计算精度与量化
GPT实战系列-GPT训练的PretrainingSFTReward ModelingRLHF
GPT实战系列-探究GPT等大模型的文本生成-CSDN博客