将日期和列表的元组转换为 Pandas 数据框

Posted

技术标签:

【中文标题】将日期和列表的元组转换为 Pandas 数据框【英文标题】:Convert Tuple of Date and list into Pandas Dataframe 【发布时间】:2017-03-12 19:53:33 【问题描述】:

我有一个元组列表,我想将其转换为数据框。我正在做这样的事情:

a = (date1, [1,2,3,4,5,6]) 
frame = pandas.DataFrame(a)

我也将其写入 csv 文件:

frame.to_csv('frame.csv', sep = ',', encoding='utf-8')

但问题是它在 csv 文件中写入如下:

0         | 1
date1     | [1,2,3,4,5,6]

我希望它写成这样。

0         | 1   |2    |3    |4    |5    |6
date1     | 1   |2    |3    |4    |5    |6

我该怎么做?谢谢。

【问题讨论】:

如果你有一个元组列表,那么试试pd.DataFrame(dict(a)).T 【参考方案1】:

我认为您可以通过将元组的第一项转换为一个项目列表 [a[0]] 并将其添加到嵌套列表 a[1] 来从 list 创建 DataFrame:

date1 = pd.to_datetime('2015-01-01')
a = (date1, [1,2,3,4,5,6]) 

L = [a[0]] + a[1]
print (L)
[Timestamp('2015-01-01 00:00:00'), 1, 2, 3, 4, 5, 6]

frame = pd.DataFrame([L])
print (frame)
           0  1  2  3  4  5  6
0 2015-01-01  1  2  3  4  5  6

【讨论】:

以上是关于将日期和列表的元组转换为 Pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章

如何将元组列表转换为 pandas 数据框,以便每个元组的第一个值代表一列?

将元组列表的字典转换为数据框

PySpark Dataframe 将两列转换为基于第三列值的元组新列

将元组列表转换为 Pandas 系列

将数组和元组元素转换为 Pandas 数据框中的列 [重复]

将列表转换为 pyspark 数据框