根据条件替换列中的值,然后返回数据帧
问题描述:
我想用虚拟值替换数据帧的第一行中的某些值。根据条件替换列中的值,然后返回数据帧
df[[0]].replace(["x"], ["dummy"])
这里的问题是,第一列中的值被替换,而不是数据框的一部分。
print(df)
产生数据帧与我试过
df[(df[[0]].replace(["x"], ["dummy"]))]
不工作,要么在第1列的原始数据..
答
replace
默认返回数据的一个副本,因此您需要通过自行分配或通过覆盖df inplace=True
:
df[[0]].replace(["x"], ["dummy"], inplace=True)
或
df[0] = df[[0]].replace(["x"], ["dummy"])
看到docs
您必须通过'就地= TRUE':'DF [[0]]替换([ “X”],[ “虚拟”],就地= True)'see the docs:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.replace.html#pandas.DataFrame.replace – EdChum
'df.iloc [0] = df [[ 0]]。replace([“x”],[“dummy”])'也应该工作 – PyNoob