我需要将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
如果添加“,”(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)
答案 0 :(得分:1)
使用str.strip
可能从两侧删除,
:
(df["1"] + ", " + df["2"]).str.strip(', ')
答案 1 :(得分:0)
中间有空单元格的多列怎么样?
A|B|C|D|E|F
1| |3| |5|6
这应该产生:
A|B|C|D|E|F|Full
1| |3| |5|6|1$3$5$6