我想用“信任”代替“红色”的所有价值。由于每个单元格中有多个值,它将如何工作?
输入:
Explanation
0 Green, Yellow, Blue, Red
1 Red, Green, Blue
2 Red
3 Blue, Pink, Yellow期望产出:
Explanation
0 Green, Yellow, Blue, Trust
1 Trust, Green, Blue
2 Trust
3 Blue, Pink, Yellow我使用过.replace,但它只改变了只有“红色”的单元格,不包括其他颜色。请帮帮我!
发布于 2022-08-27 00:40:04
您正在寻找pd.Series.str.replace,只有当整个单元格匹配时,pd.Series.replace才会替换。
df.Explanation = df.Explanation.str.replace('Red', 'Trust', regex=False)
print(df)
# Output:
Explanation
0 Green, Yellow, Blue, Trust
1 Trust, Green, Blue
2 Trust
3 Blue, Pink, Yellow发布于 2022-08-27 01:18:52
您可以尝试将replace与dict和regex=True结合使用
df = df.replace({'Explanation' :{'Red' : 'Trust'}},regex=True)发布于 2022-08-27 02:17:58
您可以按照以下方法替换熊猫DataFrame列中的子字符串。
替换单个子字符串的
df = df.replace('Red','Trust', regex=True)
替换多列子字符串的
df = df.replace({'Explanation1': 'Red', 'Explanation2': 'Pink'}, {'Explanation1': 'Red', 'Explanation2': 'Hope'}, regex=True)
使用lambda函数替换
df = df.apply(lambda x: x.replace('Red':'Red',regex=True))
希望这能帮到你。谢谢。
https://stackoverflow.com/questions/73507609
复制相似问题