Мне нужно объединить столбец 1
и 2
в 3
с разделителем ,
, но игнорировать пустые ячейки.Итак, у меня есть этот фрейм данных:
1 2
0 A, B, B D
1 C, D
2 B, B, C D, A
И мне нужно создать столбец 3
(желаемый результат):
1 2 3
0 A, B, B D A, B, B, D
1 C, D C, D
2 B, B, C D, A B, B, C, D, A
Итак, как вы видите здесь, пустая продажа была проигнорирована и ,
отдельные элементы между ними в df ["3"] (B, B, C, D, A
).
Я пытаюсь сделать это с помощью простой конкатенации, но безуспешно.
Если я просто объединю df["1"] + df["2"]
, я получу, что последний элемент первого столбца объединяется с первым элементом последнего столбца (BD
, CD
):
1 2 3
0 A, B, B D A, B, BD
1 C, D C, D
2 B, B, C D, A B, B, CD, A
Еслиadd "," (df["1"] + ", " + df["2"]
):
1 2 3
0 A, B, B D A, B, B, D
1 C, D , C, D
2 B, B, C D, A B, B, C, D, A
Вы увидите, что каждая пустая ячейка заменяется на "," и добавляется в df ["3"] (пример = , C, D
, но мне нужноC, D
).
Код для воспроизведения:
import pandas as pd
df = pd.DataFrame({"1":["A, B, B","","B, B, C"], "2":["D","C, D","D, A"]})
print(df)