pandas 将所有列的值连接到新的列列表中 [英] Pandas concatenate values of all column into a new column list

查看:50
本文介绍了 pandas 将所有列的值连接到新的列列表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我的所有专栏合并到一个新专栏中。串联的值应存储在列表中。

I am trying to concat all my columns into a new column. The concatenated values should be stored in a list.

我的数据框:

df = pd.DataFrame({'A': ['1', '2', nan], 
                   'B': [nan, '5', nan], 
                   'C': ['7', nan, '9']})

所需的输出:

df:

A   B   C   concat_col
1   nan 7   [1,7]
2   5   nan [2,5]
nan nan 9   [9]

我尝试了什么:

df['concat'] = pd.Series(df.fillna('').values.tolist()).str.join(',')

我得到的输出是:

A   B   C   concat_col
1   nan 7   1,,7
2   5   nan 2,5,,
nan nan 9   ,,9


推荐答案

以下代码应该可以工作:

The following code should work:

df['concat_col']=df.apply(lambda row: row.dropna().tolist(), axis=1)

这篇关于 pandas 将所有列的值连接到新的列列表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆