我有一个数据框,我想在函数中删除一些行。出于我的一般目的,我想修改我的数据框,如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)
答案 0 :(得分:2)
在drop方法中使用关键字参数inplace=True
:
def test(df):
df.drop(pd.Int64Index([1]), inplace=True)