如何在单列中合并2列并进行列值检查

问题描述 投票:0回答:2

我想从数据帧中合并两列,其中Column1不等于ANY:

DataFrame:

   COLUMN1 | COLUMN2
0     A    |   FOO
1     B    |   BAR  
2    ANY   |   FOO
3    ANY   |   BAR
4     C    |   FOO

因此,我想要如下所示的数据框

   COLUMN1 | COLUMN2
0     A    |  FOO_A
1     B    |  BAR_B
2    ANY   |  FOO
3    ANY   |  BAR  
4     C    |  FOO_C

ANY是变量,可以表示Null,EmptyString,String,Number。

谢谢。

python pandas dataframe concat
2个回答
0
投票

这里是代码:

variable = "ANY"  #You could change this to any variable value
for idx,row in df.iterrows():
    if row["COLUMN1"] != variable:
        df.loc[idx,"COLUMN2"] = row["COLUMN2"] + "_" + row["COLUMN1"]

输出:

print(df)

  COLUMN1 COLUMN2
0       A   FOO_A
1       B   BAR_B
2     ANY     FOO
3     ANY     BAR
4       C   FOO_C

0
投票

您可以做

df['COLUMN2']=df.apply(lambda row:row['COLUMN2']+'_'+row['COLUMN1'] if row['COLUMN1']!='ANY' else row['COLUMN2'],axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.