python进阶--pandas基本功能
Posted 文仙草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python进阶--pandas基本功能相关的知识,希望对你有一定的参考价值。
一、调用pandas
- import pandas:导入pandas包,后续代码就可以使用pandas包里定义好的功能了。
- import pandas as pd:
相当于将pandas包重命名为pd,这样之后使用pandas包的功能的时候,直接写pd,而不需要写pandas,更省事。
二、打开和保存文件
- pd.read_csv(filepath)
import pandas as pd
filepath = 'E:\\\\python\\\\test.csv'
df = pd.read_csv(filepath)
- pd.read_xlsx(filepath)
import pandas as pd
filepath = 'E:\\\\python\\\\test.xlsx'
df = pd.read_xlsx(filepath)
- df.to_csv(filepath&name)
将文件保存为csv格式,注意不要忘记写后缀。
df.to_csv('new_file.csv')
df.to_csv('E:\\\\python\\\\new_file.csv')
三、初查数据
- df.head(): 展示前五行数据
- df[‘name’].unique(): 剔除该列数据的重复项。
四、创建DataFrame
- 将字典变成DataFrame结构:key是列名,value是每列数值
python student = {'name': ['Eva', 'Bob', 'John','Cathy', 'Kate'], 'age': ['15', '16', '15','17','16'], 'gender': ['f', 'm', 'f', 'f', 'm']} student_df = pd.DataFrame(student)
五、常用方法
(一)从DataFrame结构的数据中选取一列数据
-
直接选取,Series格式:df[‘列名’] (注意:是一个方括号)
- 按dataframe格式:df[[‘列名’]] (注意:是两个方括号)
- 按dataframe格式:df[[‘列名’]] (注意:是两个方括号)
(二)从DataFrame结构的数据中选取多列数据
格式:df[[‘列名1’,‘列名2’,‘列名3’]] ,注意是两个方括号
如果只有一个方括号会报错
(三)获取第n行、第m列单元格的数值
- 用数字定位:df.iloc[n,m]
注意:标题列不算行数,行数据和列数据的序号n、m均从0开始,所以获取第一行、第一列单元格数据时,应该是df.iloc[0,0]
2)用列名定位获取数据
获取第二行中’Artist‘列的数据(注意,此处的第二行是指实际数据的第二行,而其行序号为1),如图
(四)获取多行多列数据(数据切片)
- 用序号:df.iloc[i:j, n:m]
例如获取第1到2行、1到3列的数据,如下图:
上图获取的数据在整个数据表中的位置如下图:
- 用列名: df.loc[i:j, ‘列名’:‘列名’]
.loc与.iloc对行数据切片的不同之处,需特别注意!! df.loc[i:j]是获取行序号从第i行到第j行;而在使用df.iloc[i:j]时获取第i行到第j-1行数据。
如下图,df.loc[0:2, :]获取了前三行数据,而上面df.iloc[0:2,:]获取了前两行数据。
(三)选择列数据满足特定要求的行数据
df1 = df[df[‘gender’] = ‘f’]: 满足条件的返回True, 反之返回False; 为True的行被选中,为False的行被剔除。 df2 = df[df[‘age’]>16]
以上是关于python进阶--pandas基本功能的主要内容,如果未能解决你的问题,请参考以下文章