Pandas删除数据的几种方法

数据删除的几种情况

1、删除具体列

#删除单列
df.drop("列名",axis = 1)
#删除多列
df.drop(["列名1","列名2"],axis = 1)
#或者
df.drop(columns=[1,3],inplace=True) 
# 删除指定位置列,使用columns属性来组合完成
df.drop(df.columns[[0,1]],axis=1)

2、删除具体行

#删除单行
df.drop("行索引")
#删除多行
df.drop(["行索引","行索引"])
#删除指定位置行
df.drop(df.index[[1,3]])

3、删除包含某些数值的行或者列

#删除A列小于100的数值
df[ df['A'] >= 100]

4、删除包含某些字符、文字的行或者列

#方法1:使用取反符号
df[~ df['列名'].str.contains('字符或文字')]
#方法2:drop方法
df.drop(df[(df["列名"].str.contains("字符") | tmp4["列名"].str.contains("字符"))].index)
#或者使用isin方法
df[~df["列名"].isin(["字符1","字符2"])]  

5、删除缺失行或列

5.1删除缺失行

# 删除包含缺失值的行
df.dropna()
# 删除全部为缺失值的行
df.dropna(how='all')
# 删除至少有2个缺失值的行
df.dropna(thresh=2)
# 根据指定的列删除包含缺失的行
df.dropna(subset=['列名'])

5.2删除缺失列

# 删除包含缺失值的列的两种方法
df.dropna(axis=1)	#df.dropna(axis='columns')
# 删除全部为缺失值的列
df.dropna(axis=1,how='all')
# 删除至少有2个缺失值的列
df.dropna(axis=1,thresh=2)
# 根据指定的行删除包含缺失的列,此时subset指的是行索引
df.dropna(axis=1,subset=[1])

6、删除重复数据

# 删除重复行,保留第一个重复行
df.drop_duplicates()
# 删除重复行,保留最后一个重复行
df.drop_duplicates(keep='last')
# 根据z列,删除重复行
df.drop_duplicates(subset=['z'])
# 重排序索引
df.drop_duplicates(ignore_index=True)

你可能感兴趣的:(pandas,python,数据分析)