import numpy as np
import pandas as pd
df=df.drop(index=df.index) # 新表,新内存
df.drop(df.index, inplace=True) # 改原表
通过行名称删除:
df = df.drop(['1', '2']) # 不指定axis默认为0,删除行
df = df.drop("删除行名") # 不指定axis默认为0,删除行
df.drop(['1', '3'], inplace=True)
通过行号删除:
df.drop(df.index[0], inplace=True) # 删除第1行,index不会改变
df.drop(df.index[0:3], inplace=True) # 删除前3行
df.drop(df.index[[0, 2]], inplace=True) # 删除第1第3行
详见pandas“选择行单元格,选择行列“的笔记
举例,通过筛选可以实现很多功能,例如要对某行数据去重,可以获取去重后的index列表后,使用loc方法:
>>> df.loc['2','B']=9
>>> df
A B C D
1 0 1 2 3
2 4 9 6 7
3 8 9 10 11
4 12 13 14 15
>>> chooses = df['B'].drop_duplicates().index
>>> df.loc[chooses]
A B C D
1 0 1 2 3
2 4 9 6 7
4 12 13 14 15
# 列名的值 = 目标值,删除
df[ ~ df['列名'].str.contains('目标值') ]
# 列名的值 包含 目标值,删除
df[ df['列名'].str.contains('目标值') ]