如何删除行Name == 30
?
如何同时删除两行,例如Name == 30
和Name == 40
?
Name Date sales discount net_sales
20 20060331 2.709 NaN 2.709
30 20060630 6.590 NaN 6.590
40 20060930 10.103 NaN 10.103
50 20061231 15.915 NaN 15.915
谢谢。
答案 0 :(得分:0)
df[df['Name'].ne(30)]
或者如果30是str
df[df['Name'].ne('30')]
输出:
Name Date sales discount net_sales
0 20 20060331 2.709 NaN 2.709
2 40 20060930 10.103 NaN 10.103
3 50 20061231 15.915 NaN 15.915
要丢弃多于1个,您需要使用Series.isin
:
df[~df['Name'].isin([20,30])]
Name Date sales discount net_sales
2 40 20060930 10.103 NaN 10.103
3 50 20061231 15.915 NaN 15.915
用于删除第5列:
df.loc[:,~df.columns.isin([5])]
或
df.loc[:,df.columns != 5]
答案 1 :(得分:0)
您可以使用
df.drop(df[df.Name.eq(30)].index)
或
df[~df.Name.eq(30)]
答案 2 :(得分:0)
您可以使用如下所示的过滤行的索引
df.drop(df[df["Name"]==30].index, inplace=True)
df