Pandas快速入门

本文介绍了Pandas库中用于数据查询、索引、读写、缺失值处理和数据处理的关键操作,如df.info(),df.loc[],df.iloc[],df.groupby(),df.fillna()等,旨在帮助用户更有效地管理和分析数据。
摘要由CSDN通过智能技术生成

1.查询

>>>df.head(6)  返回数据表的前6行

>>>df.info() 返回数据表的基本信息,包括行数、列数、列名、数据类型、非空值个数、内存占用等。

>>>df.index 返回数据表的行索引

>>>df.columns 返回数据表的列名

>>>df.dtypes 返回数据表的每一列的数据类型,例如int、float、object等。

>>>df.values 返回数据表的值,即每一行每一列的具体数据。

2. 索引操作(loc:按索引取、iloc:按下标取)

>>>df.iloc[0:5,1:3]   返回第0到第4行(不包括第5行),第1到第2列(不包括第3列)的数据。

>>>df = df.set_index('Name') 返回新的数据表,索引为Name的列的值

>>>df.loc['Heikkinen,Miss. Laina']  返回索引为’Heikkinen, Miss. Laina’的行数据。

>>>df.loc['Heikkinen, Miss. Laina':'Allen, Mr. William']

返回索引为’Heikkinen, Miss. Laina’到‘Allen, Mr. William’的行数据,包括两个索引。

◈index(可以用来访问或修改行索引)

>>>修改行索引 df.index = ['a', 'b', 'c', 'd', 'e']

◈reindex(根据给定的索引/标签进行重新排列)

>>>重新排列行索引 df.reindex(['e', 'd', 'c', 'b', 'a'])

>>>重新排列列标签 df.reindex(columns=['Gender', 'Age', 'Name'])

3.读写操作

>>> 取出一列作为series s1 =df['a'] 或 s1 =df.loc[:,'a'] 

>>> 取出多列作新的数据表  s2 =df[['a']]、s2=df.loc[[1,2],['a']]

>>> 条件读取    df[(df['a']>7)]、df[(df['a']>7)&(df['b']<5)]

>>> 取出一行成为series   df.iloc[0]

4.缺失值查看及处理

◈检测空值

>>>查询数据表中的空值   pd.isnull(df)

>>>查询含有空值的行   df[df.isnull().any(axis=1)]     

>>>查询含有空值的列   df.loc[:,df.isnull().any()]     

>>>查询a列为空值的行  df.query('a.isnull()',endine='python')     

◈填充空值

>>>用指定的值填充空值 df.fillna({‘name’:’baby’,’age’:10})

>>>用前一个或后一个非空值来填充空值  df.fillna(method="ffill")

>>>用函数或lambda表达式来填充空值    df.fillna(lambda x:x.mean())

◈删除空值

>>>删除缺少所有元素的行 df.dropna(how='all')

>>>删除缺少所有元素的列 df.dropna(axis=1, how='all')

5.数据处理

◈重命名

>>>使用映射重命名列  df.rename(columns={‘A’:’a’,’B’:’c’})

>>>使用映射重命名索引  df.rename(index={0:’x’,1:’y’,2:’z’})

>>>重命名所有列   df.columns=[‘a’ , ’b’ , ’c’]

◈groupby操作(分组、聚类)

>>>分成不同的组并应用一些函数,如求和,均值,计数等。

例1:按照性别分组,并计算每组的平均年龄和总工资

df.groupby("gender").agg({"age": "mean", "salary": "sum"})

例2:按照地区分组,并计算每个地区的电影评分的平均数

df['地区'].groupby(df['评分']).mean()

◈map方法

针对series里的每个元素进行函数操作。

>>>使用lambda函数:令所有人年龄加上88. df['age'].map(lambda x: x+88)

>>>性别栏,把f换成女,m换成男. df['gender'].map({'f':'女','m':'男'})

>>>使用自定义函数,这里map只接受一个参数,即传入的x

◈排序和

>>>按照索引进行升序排序 df.sort_index(inplace=True)

>>>按值排序 df.sort_values(by='b')

◈算术运算

例子:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值