切片的原位修改

时间:2015-02-03 23:48:20

标签: pandas

这样做最有效的方式是什么(由于replace的参数是切片,因此无法正常工作?)

DF[DF.col == x].col.replace( ... , inplace=True)

1 个答案:

答案 0 :(得分:1)

一种方法是明确地进行任务:

In [11]: df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])

In [12]: df
Out[12]:
   a  b
0  1  2
1  3  4

In [13]: df.loc[df.a == 3, 'b'] = df.loc[df.a == 3, 'b'].replace({4: 7})

In [14]: df
Out[14]:
   a  b
0  1  2
1  3  7

另一种选择是使用update,这可能会更快:

df.update(df.loc[df.a == 3, 'b'].replace({4: 7}))