数据分析-Pandas类型数据的CSV读写处理
数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?
数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
实验数据分析处理,股票序列,时间序列,信号序列,有时候表格的数据并不完全是数值类型,也有可能是字符串,或者其他数据,需要做分类处理。pandas如何控制数据分类处理呢?需要配置哪些参数?
您可以将包含类型数据的写入csv文件,也可以把数据从文件读取出来。
当写入CSV文件时,会把类别信息删除掉,包括类别和顺序,所以,当从csv文件读取回来的时候,就有必要做相关的转换操作。
写入类型数据到CSV文件
In [1]: import io
In [2]: s = pd.Series(pd.Categorical(["a", "b", "b", "a", "a", "d"]))
# 重命名类别 categories
In [3]: s = s.cat.rename_categories(["very good", "good", "bad"])
# 设置类别
In [4]: s = s.cat.set_categories(["very bad", "bad", "medium", "good", "very good"])
In [5]: df = pd.DataFrame({"cats": s, "vals": [1, 2, 3, 4, 5, 6]})
In [6]: csv = io.StringIO()
In [7]: df.to_csv(csv)
读取类型数据的CSV文件
In [8]: df2 = pd.read_csv(io.StringIO(csv.getvalue()))
In [9]: df2.dtypes
Out[9]:
Unnamed: 0 int64
cats object
vals int64
dtype: object
# 数据是无类型数据
In [10]: df2["cats"]
Out[10]:
0 very good
1 good
2 good
3 very good
4 very good
5 bad
Name: cats, dtype: object
# 类型转换
In [11]: df2["cats"] = df2["cats"].astype("category")
In [12]: df2["cats"] = df2["cats"].cat.set_categories(
.....: ["very bad", "bad", "medium", "good", "very good"]
.....: )
.....:
In [13]: df2.dtypes
Out[13]:
Unnamed: 0 int64
cats category
vals int64
dtype: object
In [14]: df2["cats"]
Out[14]:
0 very good
1 good
2 good
3 very good
4 very good
5 bad
Name: cats, dtype: category
Categories (5, object): ['very bad', 'bad', 'medium', 'good', 'very good']
这套操作同样适用于 .to_sql
方法。
以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
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实战方案