我很抱歉,如果以前曾有人问过或回答过此问题,但经过一段时间的搜索后,我找不到这个问题的答案。
简而言之,我想将多个列合并为一个以分隔的列,问题是某些单元格为空(NoneType)
当结合它们时,我得到:
要么
假设我有一个生产数据框,看起来像
0 1 2
1 Rice
2 Beans Rice
3 Milk Beans Rice
4 Sugar Rice
我想要的是带有值的单列
Production
1 Rice
2 Beans, Rice
3 Milk, Beans, Rice
4 Sugar, Rice
通过一些搜索和调整,我添加了以下代码:
testColumn = productionFrame.iloc[::].apply(lambda x: ', '.join(x)), axis=1)
产生问题1
或像这样更改它:
testColumn = productionFrame.iloc[::].apply(lambda x: ', '.join(x.map(str)), axis=1)
哪个产生问题2
也许要补充一点,我很新,并且现在正在探索Pandas / Python。因此,非常感谢您提供任何帮助或朝着正确的方向前进!
pd.Series.str.cat应该在这里工作
df
Out[43]:
0 1 2
1 Rice NaN NaN
2 Beans Rice NaN
3 Milk Beans Rice
4 Sugar Rice NaN
df.apply(lambda x: x.str.cat(sep=', '), axis=1)
Out[44]:
1 Rice
2 Beans, Rice
3 Milk, Beans, Rice
4 Sugar, Rice
dtype: object
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句