数据分析-Pandas类别数据中的字符串和日期处理
数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
实验数据分析处理,股票序列,时间序列,信号序列,有时候表格的数据并不完全是数值类型,也有可能是字符串,或者其他数据,需要做分类处理。pandas如何控制数据分类处理呢?需要配置哪些参数?
数据梳理
优化的 pandas 的.loc
、.iloc
、.at
和 .iat
, 使得数据访问方式正常。唯一的区别是返回类型(用于获取),和可以赋值已有的数值。categories
字符串类型的访问
只有适当的类型:.dt``.str``s.cat.categories
,访问才正常:
In [1]: str_s = pd.Series(list("aabb"))
In [2]: str_cat = str_s.astype("category")
In [3]: str_cat
Out[3]:
0 a
1 a
2 b
3 b
dtype: category
Categories (2, object): ['a', 'b']
In [5]: str_cat.str.contains("a")
Out[5]:
0 True
1 True
2 False
3 False
dtype: bool
日期时间类型的访问
In [1]: date_s = pd.Series(pd.date_range("1/1/2015", periods=5))
In [2]: date_cat = date_s.astype("category")
In [3]: date_cat
Out[3]:
0 2015-01-01
1 2015-01-02
2 2015-01-03
3 2015-01-04
4 2015-01-05
dtype: category
Categories (5, datetime64[ns]): [2015-01-01, 2015-01-02, 2015-01-03, 2015-01-04, 2015-01-05]
In [5]: date_cat.dt.day
Out[5]:
0 1
1 2
2 3
3 4
4 5
dtype: int32
这意味着,Series
访问器方法的返回值和属性,与category
的访问器的方法和属性,两者将相等:
In [1]: ret_s = str_s.str.contains("a")
In [2]: ret_cat = str_cat.str.contains("a")
In [3]: ret_s.dtype == ret_cat.dtype
Out[3]: True
In [5]: ret_s == ret_cat
Out[5]:
0 True
1 True
2 True
3 True
dtype: bool
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案