python中的pandas库_数据分析中pandas库的基本⽤法详解上篇分享了数据分析⽤到的⼀个库:Numpy 库,今天分享⼀个⽐ Numpy 更⾼效的库:pandas,它可以对数据进⾏导⼊、清洗、处理、统计和输出。pandas 是基于 Numpy 库的,可以说,pandas 库就是为数据分析⽽⽣的。
环境
语⾔:Python 3.6
安装&导⼊
⽤ pip 命令快速安装 pandas 库。
Python
pip install pandas
1
pip install pandas
安装完后再编辑器中导⼊。
Python
import pandas as pd
1
import pandas as pd
读取⽂件
读取你的 excel ⽂件,并另存为 csv 格式的⽂件。
Python
import pandas as pd
from pandas import DataFrame, Series
df = ad_excel('test.xlsx'))
<_csv('test1.csv')
print(df)
1
2
3
4
5
6
importpandasaspd
frompandasimportDataFrame,Series
df=ad_excel('test.xlsx'))
<_csv('test1.csv')
print(df)
读取过程中可能会报错,提⽰你缺少 xlrd 模块的情况,⽤ pip 命令安装即可。
打印出读取到的数据,我们发现,⽂件中单元格为空的数据以 NAN 代替了。
当然,也可以直接读取⽂件并打印,不给参数的话默认只打印前 5 ⾏数据。以我之前爬取的热门歌⼿⽂件为例。Python
import pandas as pd
from pandas import DataFrame, Series
df = ad_excel('歌⼿.xlsx'))
print(df.head(8))
1
2
3
4
5
importpandasaspd
frompandasimportDataFrame,Series
df=ad_excel('歌⼿.xlsx'))
print(df.head(8))
打印结果如下:
Python
歌⼿名字 歌⼿ID
0 周杰伦 6452
1 陈奕迅 2116
2 薛之谦 5781
3 林俊杰 3684
4 李荣浩 4292
5 张学友 6460
6 杨宗纬 6066
7 许巍 5770
1
2
3
4
5
6
7
8
9
歌⼿名字歌⼿ID
0周杰伦6452
1陈奕迅2116
2薛之谦5781
3林俊杰3684
4李荣浩4292
5张学友6460
6杨宗纬6066
7许巍5770
清洗数据
我们知道,从事数据分析⼯作的,80% 的时间都花在数据清洗上⾯,因为我们从各个渠道获取的信息格式不统⼀,我们需要对他们进⾏清洗。
清洗数据主要内容如下:
删除 DataFrame 中的不必要列和⾏。
重命名 columns 为⼀组更易识别的标签。
更改数据格式。
去除数据间空格或者特定字符。
去除重复的⾏。
查空值。
删除⾏或者列
我们还是以刚才歌⼿信息为例,为了看删除效果,我加了⼀列信息:性别,下⾯只显⽰部分信息。
Python
歌⼿名字 歌⼿ID 性别
0 周杰伦 6452 男
1 陈奕迅 2116 男
2 薛之谦 5781 男
3 林俊杰 368
4 男
4 李荣浩 4292 男
5 张学友 6460 男
6 杨宗纬 6066 男
7 许巍 5770 男
1
2
3
4
5
6
7
8
9
歌⼿名字歌⼿ID性别
0周杰伦6452男
1陈奕迅2116男
2薛之谦5781男
3林俊杰3684男
4李荣浩4292男
5张学友6460男
6杨宗纬6066男
7许巍5770男
删除性别这⼀列。
Python
import pandas as pd
from pandas import DataFrame, Series
df = ad_excel('歌⼿.xlsx')) df1 = df.drop(columns=['性别'])
print(df1)
1
2
3
4
5
6
importpandasaspd frompandasimportDataFrame,Series
df=ad_excel('歌⼿.xlsx'))
df1=df.drop(columns=['性别'])
print(df1)
执⾏后发现刚加的「性别」这⼀列已被删除。
删除某⼀⾏,⽐如删除李荣浩这⼀⾏信息,我们通过上⾯可以知道这⼀⾏的 index 是 4。Python
import pandas as pd
from pandas import DataFrame, Series
df = ad_excel('歌⼿.xlsx'))
df1 = df.drop(index=['李荣浩'])
print(df1)
1
2
3
4
5
6
importpandasaspd
frompandasimportDataFrame,Series
df=ad_excel('歌⼿.xlsx'))
df1=df.drop(index=['李荣浩'])
print(df1)
执⾏后结果如下,我们发现,index 为 4 的这⼀⾏信息已被删除。
isnull的用法Python
歌⼿名字 歌⼿ID 性别
0 周杰伦 6452 男
1 陈奕迅 2116 男
2 薛之谦 5781 男
3 林俊杰 368
4 男
5 张学友 6460 男
6 杨宗纬 6066 男
7 许巍 5770 男
1
2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论