pd.DataFrame.replace()函数不起作用

2024-10-04 11:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是想用另一个数据帧更改数据帧中的一个值(使用pandas)。我尝试了df.replace()函数,但没有成功。 这是我的代码:

ID   species         Gene
1    Genus_species   NADH dehydrogenase subunit 1
2    Genus_species   NADH dehydrogenase subunit 2
3    Genus_species   NADH dehydrogenase subunit 5
4    Genus_species   NADH dehydrogenase subunit 3

df.replace(to_replace='NADH', value='NAD')

print(df)

ID   species         Gene
1    Genus_species   NADH dehydrogenase subunit 1
2    Genus_species   NADH dehydrogenase subunit 2
3    Genus_species   NADH dehydrogenase subunit 5
4    Genus_species   NADH dehydrogenase subunit 3

一切都会改变。 是我的命令正确还是我遗漏了什么? 提前谢谢


Tags: to数据函数代码idpandasdfvalue
3条回答

您需要这样做:

df["Gene"] = df["Gene"].apply(lambda x: x.replace('NADH', 'NAD')) 
print(df)
#   ID        species                         Gene
#0   1  Genus_species  NAD dehydrogenase subunit 1
#1   2  Genus_species  NAD dehydrogenase subunit 2
#2   3  Genus_species  NAD dehydrogenase subunit 5
#3   4  Genus_species  NAD dehydrogenase subunit 3

str.replace是我通常选择的特定列

df["Gene"] = df["Gene"].str.replace('NADH', 'NAD')) 
df["Gene"] = df["Gene"].replace("NADH","NAD",regex=True)  

regex=True参数确保它也查看字符串值内部

相关问题 更多 >