Соединение столбцов в пандах, только если есть оба значения - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть два фрейма данных с пандами, с которыми я работаю.Первый выглядит примерно так (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 голосов
/ 18 декабря 2018

Использование dropna с merge:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...