将列表的列表重塑为用于CSV导出的数据框。

huangapple go评论65阅读模式
英文:

How to reshape a list of lists into a data frame for csv export

问题

我想将一系列列表叠加到一个数据框中:

我目前有一个包含30个元素的列表,每个元素都有两个子元素。当我将其导出为CSV文件时,我希望这两个子元素分别占据一行。如果我限制为前10行,我可以实现这一点:

将列表的列表重塑为用于CSV导出的数据框。

但是当我添加新行时,它将这两个子元素合并成一个:

将列表的列表重塑为用于CSV导出的数据框。

我使用了上面的代码,尝试将它们一起压缩。如何叠加这些并保持第一种配置?

英文:

I want to stack a list of lists on top of each other into a data frame:

I currently have a list that is 30 elements long and each element has two elements in it. When I export it to CSV I want the 2 element to have a row each, I can achieve this if I restrict it to the first 10 rows:

将列表的列表重塑为用于CSV导出的数据框。

When I add the new rows, it combines the 2 elements into one:

将列表的列表重塑为用于CSV导出的数据框。

data=pd.DataFrame(data=zip(data[0:10],data[10:20]))

df = pd.DataFrame(data).T.set_axis(headers, axis=1)
df.to_csv('GFG.csv', mode='w', index=False, header=True)

I used the above code, so I just tried to zip them together. How would I stack these and maintain the first configuration?

答案1

得分: -1

好的,我理解了。以下是翻译好的代码部分:

好的我理解了所以我假设你的30个元素列表是你的10个标题项连续排列的3个序列

你可以将这个列表切片成为包含每个序列的10个项的组并连接为每个组创建的数据框

df = pd.concat([pd.DataFrame(data=data[i:i+10]).T for i in range(0,len(data),10)], ignore_index=True).set_axis(headers, 1)
英文:

Ok gotya, so I'm assuming your 30 element list is 3 sequences of your 10 header items back to back.

You can slice this list into your 10-item groups and concatenate the dataframes created for each one.

df = pd.concat([pd.DataFrame(data=data[i:i+10]).T for i in range(0,len(data),10)], ignore_index=True).set_axis(headers, 1)

huangapple
  • 本文由 发表于 2023年5月25日 17:34:31
  • 转载请务必保留本文链接:https://go.coder-hub.com/76330835.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定