Python 将字符串添加到dataframe的两列中的重复字符串
我想创建一个太阳暴流图。 因此,我需要一个在每列中都有唯一字符串的数据帧(对于每个图表级别)。 我的目标是为col2中出现在col1中任何位置的所有字符串添加一个附加字符串。 我的原始数据帧如下所示:Python 将字符串添加到dataframe的两列中的重复字符串,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,我想创建一个太阳暴流图。 因此,我需要一个在每列中都有唯一字符串的数据帧(对于每个图表级别)。 我的目标是为col2中出现在col1中任何位置的所有字符串添加一个附加字符串。 我的原始数据帧如下所示: col1 col2 value 0 pig dog 3 1 cat chicken 2 2 fish pig 4 3 dog mule 7 col1 co
col1 col2 value
0 pig dog 3
1 cat chicken 2
2 fish pig 4
3 dog mule 7
col1 col2 value
0 pig dog_ag 3
1 cat chicken 2
2 fish pig_ag 4
3 dog mule 7
我想要实现的是这样的目标:
col1 col2 value
0 pig dog 3
1 cat chicken 2
2 fish pig 4
3 dog mule 7
col1 col2 value
0 pig dog_ag 3
1 cat chicken 2
2 fish pig_ag 4
3 dog mule 7
非常感谢您的帮助。请与以下内容配合使用:
使用
列表理解
df["col2"] = [i+"_ag" if i in df["col1"].values else i for i in df["col2"]]
或者您可以使用np.where
df["col2"] = np.where(df["col2"].isin(df["col1"]), df["col2"]+"_ag", df["col2"])
吉皮,现在它就像一个符咒。谢谢你堆耶斯雷坦你也是反社会者。我自己第一次去解决它实际上是用np,但我没有把它和isin结合起来。对于我这个初学者来说,看到python的灵活性总是很棒的。