python将pandas数字向量列拆分为多列[重复]

Posted

技术标签:

【中文标题】python将pandas数字向量列拆分为多列[重复]【英文标题】:python split pandas numeric vector column into multiple columns [duplicate] 【发布时间】:2019-03-10 01:00:17 【问题描述】:

我在 pandas 中有一个数据框,其中有一列是向量:

df = pd.DataFrame('ID':[1,2], 'Averages':[[1,2,3],[4,5,6]])

我希望将其拆分为如下所示的元素:

df2 = pd.DataFrame('ID':[1,2], 'A':[1,4], 'B':[2,5], 'C':[3,6])

我试过了 df['Averages'].astype(str).str.split(' ') 但没有运气。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

这将起作用:

df[['A','B','C']] = pd.DataFrame(df.averages.values.tolist(), index= df.index)

【讨论】:

【参考方案2】:
pd.concat([df['ID'], df['Averages'].apply(pd.Series)], axis = 1).rename(columns = 0: 'A', 1: 'B', 2: 'C') 

【讨论】:

这并不能完全解决问题,因为它返回的数据帧不包含“ID”列。 @exp1orer 这里:pd.concat([df['ID'], df['Averages'].apply(pd.Series)],axis = 1).rename(columns = 0 : 'A', 1: 'B', 2: 'C') 问题的本质是弄清楚如何将基于列表的数据转换为多列,我的代码解决了这个问题。您应该知道如何在 pandas 中添加一列并重命名它们。并非 stackexchange 上的每个答案都应该只是复制/粘贴。 谢谢,我建议您编辑答案以包含它! OP 提供了所需的输出,因此如果它产生所需的输出,您的答案会更强。 (请注意,我不是 OP,我作为编辑看到了你的答案,因为它被建议删除。) @exp1orer,谢谢,已更新

以上是关于python将pandas数字向量列拆分为多列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将包含 json 数据的 pandas 数据框的列拆分为多列

Pandas使用split函数基于指定分隔符拆分数据列的内容为列表设置expand参数将拆分结果列表内容转化为多列dataframe并添加到原dataframe中drop函数基于数据列名称删除列

23、pandas的多列拼接成一列函数.str.cat()

Pandas使用str属性获取数据列的字符串方法类split函数基于指定分隔符拆分数据列的内容为列表设置参数n控制拆分的次数设置expand参数将拆分结果列表内容转化为多列dataframe

Pandas使用split函数基于指定分隔符拆分数据列的内容为列表设置参数n控制拆分的次数设置expand参数将拆分结果列表内容转化为多列dataframe并添加到原dataframe中

Spark SQL一列拆分多列