数据处理的 3 个小技巧
Posted Python学习与数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据处理的 3 个小技巧相关的知识,希望对你有一定的参考价值。
数据处理无所不在,掌握常用技巧,事半功倍。此系列使用 Pandas 开展数据处理分析,总结其中常用、好用的数据分析技巧。
推荐文章
我使用的 Pandas 版本如下,顺便也导入 Pandas 库。
>>> import pandas as pd
>>> pd.__version__
'0.25.1'
在开始前先确保解释器和数据集在同一目录下:
>>> import os
>>> os.chdir('D://source/dataset') # 这是我的数据集所在目录
>>> os.listdir() # 确认此目录已经存在 IMDB-Movie-Data 数据集
['drinksbycountry.csv', 'IMDB-Movie-Data.csv', 'movietweetings', 'titanic_eda_data.csv', 'titanic_train_data.csv']
准备工作就位后,正式开始数据处理技巧之旅。
1 Pandas 移除某列
导入数据
>>> df = pd.read_csv("IMDB-Movie-Data.csv")
>>> df.head(1) # 导入并显示第一行
Rank Title Genre ... Votes Revenue (Millions) Metascore
0 1 Guardians of the Galaxy Action,Adventure,Sci-Fi ... 757074 333.13 76.0
[1 rows x 12 columns]
使用 pop 方法移除指定列:
>>> meta = df.pop("Title").to_frame() # 移除 Title 列
确认是否已被移除:
>>> df.head(1) # df 变为 11列
Rank Genre ... Revenue (Millions) Metascore
0 1 Action,Adventure,Sci-Fi ... 333.13 76.0
[1 rows x 11 columns]
2 统计标题单词数
pop 后得到 meta,显示 meta 前 3 行:
>>> meta.head(3)
Title
0 Guardians of the Galaxy
1 Prometheus
2 Split
标题是由单词组成,中间用空格分隔。
# .str.count(" ") + 1 得到单词个数
>>> meta["words_count"] = meta["Title"].str.count(" ") + 1
>>> meta.head(3) # words_count 列代表单词个数
Title words_count
0 Guardians of the Galaxy 4
1 Prometheus 1
2 Split 1
3 Genre 频次统计
下面统计电影 Genre 的频次,
>>> vc = df["Genre"].value_counts()
下面显示电影 Genre 的 Top5 ,最高频为出现 50 次的 Action,Adventure,Sci-Fi 类,次之为 48 次的 Drama 类:
>>> vc.head()
Action,Adventure,Sci-Fi 50
Drama 48
Comedy,Drama,Romance 35
Comedy 32
Drama,Romance 31
Name: Genre, dtype: int64
展示 Top5 的饼状图:
>>> import matplotlib.pyplot as plt
>>> vc[:5].plot(kind='pie')
<matplotlib.axes._subplots.AxesSubplot object at 0x000001D65B114948>
>>> plt.show()
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
以上是关于数据处理的 3 个小技巧的主要内容,如果未能解决你的问题,请参考以下文章