我正在尝试将所有列连接到一个新列中。连接的值应存储在列表中。
我的数据框:
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
最佳答案
以下代码应该可以工作:
df['concat_col']=df.apply(lambda row: row.dropna().tolist(), axis=1)
关于python - Pandas 将所有列的值连接到一个新的列列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507272/