我需要将 3
中的列 1
和 2
与分隔符 ,
组合起来,但忽略空单元格。
所以我有这个数据框:
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
正如您在这里看到的,空的 sell 被忽略,并且 ,
在 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
如果添加 ", "(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)
最佳答案
使用str.strip
可能从两侧删除 ,
:
(df["1"] + ", " + df["2"]).str.strip(', ')
关于python - 合并两列,忽略空单元格并添加分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53781596/