2016-11-29 251 views
1

我想用虚拟值替换数据帧的第一行中的某些值。根据条件替换列中的值,然后返回数据帧

df[[0]].replace(["x"], ["dummy"]) 

这里的问题是,第一列中的值被替换,而不是数据框的一部分。

print(df) 

产生数据帧与我试过

df[(df[[0]].replace(["x"], ["dummy"]))] 

不工作,要么在第1列的原始数据..

+1

您必须通过'就地= TRUE':'DF [[0]]替换([ “X”],[ “虚拟”],就地= True)'see the docs:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html#pandas.DataFrame.replace – EdChum

+1

'df.iloc [0] = df [[ 0]]。replace([“x”],[“dummy”])'也应该工作 – PyNoob

回答

2

replace默认返回数据的一个副本,因此您需要通过自行分配或通过覆盖df inplace=True

df[[0]].replace(["x"], ["dummy"], inplace=True) 

df[0] = df[[0]].replace(["x"], ["dummy"]) 

看到docs

相关问题