仅当两个值都存在时才能在Pandas中联接列

时间:2018-12-18 04:13:02

标签: python pandas

我有两个正在使用的熊猫数据框。第一个看起来像这样(data_frame_1):

column 1        description
name1; name2    description1:hello
name3; name4    description2:hello
name23          description29:hi
name0292        description31:myself
name23          description21:yes
name3;name4     description18:yes

我已使用以下代码用分号分隔第一列: Column_DF= table[0].str.split(';', expand=True)

我现在想获取这个新数据框Column_DF,并将其与data_frame_1 [1]同一行中的描述结合起来。

我知道pd.merge函数,但是我似乎无法得到它,因此它仅合并(或合并)具有值的行,而不合并NAN。

1 个答案:

答案 0 :(得分:0)

dropnamerge一起使用:

df = df.merge(df['column 1'].str.split(';', expand=True).dropna(), 
              left_index=True, right_index=True)

或者:

df = df.merge(df['column 1'].str.split(';', expand=True),
              left_index=True, right_index=True).dropna()

print(df)
       column 1         description      0       1
0  name1; name2  description1:hello  name1   name2
1  name3; name4  description2:hello  name3   name4
5   name3;name4   description18:yes  name3   name4