pandas常用命令汇总

本文详细汇总了Pandas库的主要操作,包括数据读取、过滤、排序、分组、应用函数、合并、日期处理、统计分析及删除等。涵盖了如数据类型转换、行/列选择、数据筛选、分组聚合、时间序列处理等多个关键功能。
摘要由CSDN通过智能技术生成

目录

01_Getting_&_Knowing_Your_Data

02_Filtering_&_Sorting

03_Groupby

04_Apply


01_Getting_&_Knowing_Your_Data

1、读取csv文件

pd.read_csv(file_path,step='\t')

2、数据集行列信息

df.shape # 行数、列数

df.shape[0] or len(df)  #行数

df.shape[1] #列数

df.index  #索引信息

df.columns #列名称

df['column_dtype'] #某列类型

df.info  #数据集基本信息:列名、非空行数、类型

df.head(10) #前10行

df.tail(10) #后10行

3、排序

df.sort_values(column,ascending=False) #df按照column降序排列

df.sort_values(column,ascending=False).head(1) #取df最大的一行

df.groupby('column1').sum().sort_values('column2',ascending=False).head(1) #df按c1分组、求和,然后按照c2降序排序,取最大一行

4、某列值求和、求平均

df['c1'].sum()  #求和

df.c1.mean()  #求平均

ps :选取一列的两种方式

5、转换一列数据类型

#str =>float

str_to_float = lambda x : float(x[1:-1])  #利用切片删除第一个字符

df['columns'].apply(str_to_float)   # 利用apply 转换df列

6、查看列中有哪些不同值、每个值有多少重复值

df.column.value_counts() #column的不同的值,每种值有多少个

df.column.value_counts().count()  #column列有几个不同的值

7、选取行

df.iloc[18]  #df 第19行数据,索引从0开始

df.loc['column_name'] #按照行名称选取行

8、数据集的摘要

df.describe()  #数值列的信息

df.describe(include='all')  #所有列的信息

9、选取多列

df[['c1','c2']] #选取 c1列和c2列

df.loc[:,'c1':'c2']  #选取c1到c2列

10、删除一列

del df['c1'] #删除 c1列

 

02_Filtering_&_Sorting

1、删除某列重复数据

data=data.drop_duplicates(column,keep='first',inplace=False) 
#删除column列的重复值,可以是列表即列的组合
#keep='first'表示保留第一次出现的重复行,是默认值
#inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本

2、根据某列列的值筛选df的行

df[(df.c1 == 'xxx') & (df.c2 > 10)]  #过滤出:c1列为字符串'xxx' 并且 c2 > 10 的行

3、某列排序 vs df按照某列排序

df['c1'].sort_values()  #选取某列,然后排序

df.sort_values(by=['c1','c2'],ascending=False) #df按照c1、c2排序

4、筛选某列以字母'G'开头的行


df[df.column.str.startswich('G')]
#Series.str.startswith(pat, na=nan)查看元素是否以…开头 
#参数: pat : 字符串  na : 布尔值 
#返回: 序列Series/向量array

5、选取前7列

df.iloc[:,0:7]

6、选取c1列值为'a','b','c' 的c1、c2列

df.loc[df.c1.isin(['a', 'b', 'c']), ['c1','c2']]

7、选取3-7行、3-6列

df.iloc[3:7,3:6]

8、选取某列不包含字符串’xxx‘的行

df[ df.column != 'xxx']

9、选取索引为’a‘和'b'的行

df.loc[['a','b']]

10、生成一个从15000到73000的随机整数series,大小为398

owners = np.random.randint(15000,high=73001,size=398,dtype='l')

 

03_Groupby

1、根据c1分组,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值