从熊猫列中的列表创建多列[重复]
Posted
技术标签:
【中文标题】从熊猫列中的列表创建多列[重复]【英文标题】:Create multiple columns from a list in pandas column [duplicate] 【发布时间】:2019-12-23 21:33:29 【问题描述】:我有一个数据框,我想从其中一列的列表中创建 5 列
例子:
df :
ID Data
1 ['A1','A2','A3','A4','A5']
2 ['A2','A3','A4','A5']
请注意,这里很少有列表少于 5 列,因为这些列在该位置插入 NAN。
Output df:
ID Col1 Col2 Col3 Col4 Col5 Data
1 A1 A2 A3 A4 A5 ['A1','A2','A3','A4','A5']
2 A2 A3 A4 A5 Nan ['A2','A3','A4','A5']
【问题讨论】:
【参考方案1】:df = pd.DataFrame(
'ID': [1, 2],
'Data': [['A1','A2','A3','A4','A5'], ['A2','A3','A4','A5']]
)
df.join(df['Data'].apply(pd.Series))
输出:
ID Data 0 1 2 3 4
0 1 ['A1', 'A2', 'A3', 'A4', 'A5'] A1 A2 A3 A4 A5
1 2 ['A2', 'A3', 'A4', 'A5'] A2 A3 A4 A5 NaN
【讨论】:
apply(pd.Series)
是您在pandas
中应该避免的事情之一,它比欺骗链接中的解决方案慢很多倍。
@Erfan 我去看看,谢谢
虽然语法更简洁以上是关于从熊猫列中的列表创建多列[重复]的主要内容,如果未能解决你的问题,请参考以下文章