Python 将字符串添加到dataframe的两列中的重复字符串

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

我想创建一个太阳暴流图。 因此,我需要一个在每列中都有唯一字符串的数据帧(对于每个图表级别)。 我的目标是为col2中出现在col1中任何位置的所有字符串添加一个附加字符串。 我的原始数据帧如下所示:

   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的灵活性总是很棒的。