欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DataFrame常用小知识汇总

程序员文章站 2024-01-05 12:18:58
...

按条件筛数据

df[df[列名]>=某个值]

# 取2020-06-06包含这天的数据
df1= df[df['date']>='2020-06-06']
#取完之后,丢掉原索引,重置索引(0,1......)
df1= df1.reset_index(drop=True)

筛某个列只有[值1,值2…]的df isin()

#筛出expid列值为online的数据
df= df[df['expid'].isin(['online'])]
df= df.reset_index(drop=True)

提取指定行列 iloc[]

#根据行号、行号和列号查看某一行的数据
#默认初始行号列号从行0、列0开始
df.iloc[6949] #行6949的数据
df.iloc[6949:7000,3]#行6949到行7000,列3的数据

查看、统计类

某一列有多少种值 nunique()

#某一列有多少种值
df['pid'].nunique()

更改dataframe

删除某一行或者一列

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

参数说明:
labels 就是要删除的行列的名字,用列表给定
axis 默认为0,指删除行,因此删除columns时要指定axis=1;
index 直接指定要删除的行
columns 直接指定要删除的列
inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。

因此,删除行列有两种方式:
1)labels=None,axis=0 的组合
2)index或columns直接指定要删除的行或列

https://blog.csdn.net/songyunli1111/article/details/79306639