【发布时间】:2019-10-04 01:56:38
【问题描述】:
我有一个看起来像这样的初始 pandas 数据框 - 每个单元格都是一个值列表 initial input
Python 脚本 - 获取初始数据帧 - 就像 Ian Thompson 在这个答案中提到的那样 -
import pandas as pd
df_out1 = pd.DataFrame({
0: [
[None, 'A', 'B', 'C', 'D'],
[None, 'A1', 'B1', 'C1', 'D1'],
[None, 'A2', 'B2', 'C2', 'D2'],
],
1: [
[None] * 5,
[None] * 5,
[None] * 5,
],
2: [
['V', 'W', 'X', 'Y', 'Z'],
['V1', 'W1', 'X1', 'Y1', 'Z1'],
['V2', 'W2', 'X2', 'Y2', 'Z2'],
]
})
我想像这样格式化它 - 对于每一行 - 列表的每个项目都形成一列,并对所有重复/迭代执行此操作 - desired output
我的原始输入数据集非常庞大 - 10,000 行和 40 列。 我在 python 脚本下执行 - 虽然它正在工作并提供所需的输出 - 当我运行 2000 行和 40 列时 - 运行时间接近 1800 秒,我认为这是更高的一面。
Python 脚本:df_out1 是初始数据帧
d = pd.DataFrame()
for x in range(len(df_out1)):
for y in range(len(df_out1.columns)):
d = d.append(pd.Series(df_out1[y][x]), ignore_index=True)
d.to_csv('inter_alm_output_' + str(time.strftime("%Y%m%d-%H%M%S")) + '.csv')
有没有办法在更短的时间内实现这一目标,换句话说,优化它?
【问题讨论】:
-
欢迎来到 StackOverflow!为了更好地提供帮助,您能否提供格式为
code而不是图片的起始数据? -
请复制并粘贴您的数据框
标签: python pandas list dataframe