跨列添加熊猫字符串

卡蒂克

这在Python中是完全合法的:

In [1]: 'abc' + 'def'
Out[1]: 'abcdef'

如果我有一个全文本的Pandas DataFrame,如下例所示:

In [2]: df = pd.DataFrame([list('abcd'), list('efgh'), list('ijkl')],
                          columns=['C1','C2','C3','C4'])
        df.loc[[0,2], ['C2', 'C3']] = np.nan
        df
Out[2]:     C1  C2  C3  C4
        0   a   NaN NaN d
        1   e   f   g   h
        2   i   NaN NaN l

是否可以对上述DataFrame的列执行相同的操作?就像是:

In [3]: df.apply(+, axis=1) # Or
        df.sum(axis=1)

请注意,以上两个语句都不起作用。.str.cat()循环使用很容易,但是我正在寻找更好的东西。


预期输出为:

Out[3]:    C
        0  ad
        1  efgh
        2  il
Ken Wei

你可以做

df.fillna('').sum(axis=1)

当然,这假定您的数据框仅由字符串和NaN组成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章