如何从Pandas数据框中删除行的列表?

17 浏览
0 Comments

如何从Pandas数据框中删除行的列表?

我有一个数据框 df :

>>> df
                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20060630   6.590       NaN      6.590   5.291
       20060930  10.103       NaN     10.103   7.981
       20061231  15.915       NaN     15.915  12.686
       20070331   3.196       NaN      3.196   2.710
       20070630   7.907       NaN      7.907   6.459

然后我想删除一些特定序列号的行,这些序列号在一个列表中指定,假设列表为 [1, 2, 4], 那么就会留下:

                  sales  discount  net_sales    cogs
STK_ID RPT_Date                                     
600141 20060331   2.709       NaN      2.709   2.245
       20061231  15.915       NaN     15.915  12.686
       20070630   7.907       NaN      7.907   6.459

如何或者有哪些函数可以实现这个功能?

admin 更改状态以发布 2023年5月21日
0
0 Comments

注意,当您想要进行行删除时,使用“inplace”命令可能很重要。

df.drop(df.index[[1,3]], inplace=True)


由于您的原始问题未返回任何内容,应使用此命令。
http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.DataFrame.drop.html

0
0 Comments

使用DataFrame.drop,并传递一个索引标签的系列:

In [65]: df
Out[65]: 
       one  two
one      1    4
two      2    3
three    3    2
four     4    1
In [66]: df.drop(index=[1,3])
Out[66]: 
       one  two
one      1    4
three    3    2

0