【发布时间】:2022-01-30 02:36:19
【问题描述】:
我已经搜索了一段时间,但我似乎无法找到这个小问题的答案。
我有这个代码来创建一个替换值的函数:
df = {'Name':['al', 'el', 'naila', 'dori','jlo'],
'living':['Alvando','Georgia GG','Newyork NY','Indiana IN','Florida FL'],
'sample2':['malang','kaltim','ambon','jepara','sragen'],
'output':['KOTA','KAB','WILAYAH','KAB','DAERAH']
}
df = pd.DataFrame(df)
df = df.replace(['KOTA', 'WILAYAH', 'DAERAH'], 0)
df = df.replace('KAB', 1)
但我实际上期望这个输出带有不重复替换的简单代码
Name living sample2 output
0 al Alvando malang 0
1 el Georgia GG kaltim 1
2 naila Newyork NY ambon 0
3 dori Indiana IN jepara 1
4 jlo Florida FL sragen 0
我尝试过使用 np.where ,但它没有给出预期的结果。所有结果都显示为0,但原来的值为1
df['output'] = pd.DataFrame({'output':np.where(df == "KAB", 1, 0).reshape(-1, )})
【问题讨论】:
-
这对你有用吗?
df = df.replace(['KOTA', 'WILAYAH', 'DAERAH'], 0).replace('KAB', 1) -
天哪,谢谢你。但是有一些奇怪的东西,我尝试过这种方法,但没有奏效。但现在我再试一次后它可以工作了。为什么?
-
我其实不知道!我实际上复制并运行了您的代码,它对我有用。我会很快发布答案:)
标签: python pandas dataframe replace str-replace