pandas如何在函数中删除某些行?

时间:2016-01-18 18:44:18

标签: python pandas

我有一个数据框,我想在函数中删除一些行。出于我的一般目的,我想修改我的数据框,如df.groupby(['example','columns']).apply(my_function_will_modify_df)

我认为,基本上,我的问题是考虑在python中通过引用传递,所以我编写了一个这样的例子

def test(df):
    df.drop(pd.Int64Index([1]))
data = pd.DataFrame({'a':range(2),'b':range(2)})
data
Out[1]: 
   a  b
0  0  0
1  1  1

当我致电test(data)时,我的期望data应该与此类似

data.drop(pd.Int64Index([1])) 
Out[2]: 
   a  b
0  0  0

但它不是

我也试过这个

def test(df):
    p = df.copy()
    p.drop(pd.Int64Index([1]))

test(data)

data
Out[3]: 
   a  b
0  0  0
1  1  1

但也没有发生任何事情。

是否可以帮助我更改data内部功能test(df)

1 个答案:

答案 0 :(得分:2)

在drop方法中使用关键字参数inplace=True

def test(df):
    df.drop(pd.Int64Index([1]), inplace=True)