2016-11-29 256 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

相關問題