这在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
你可以做
df.fillna('').sum(axis=1)
当然,这假定您的数据框仅由字符串和NaN组成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句