我有一个dict,它保存不同时间延迟的计算值,这意味着它们开始于不同的日期。例如,我的数据可能如下所示:
Date col1 col2 col3 col4 col5
01-01-15 5 12 1 -15 10
01-02-15 7 0 9 11 7
01-03-15 6 1 2 18
01-04-15 9 8 10
01-05-15 -4 7
01-06-15 -11 -1
01-07-15 6
其中每个头是键,每个值列是每个键的值(我使用defaultdict(list)
来表示这个)。当我试图运行pd.DataFrame.from_dict(d)
时,我得到一个错误,说明所有数组的长度必须相同,这是可以理解的。有没有一种简单/简单的方法来填充或填充数字,以便输出的结果是下面的数据帧?在
或者我必须手动处理每个列表吗?在
以下是重新创建字典的代码:
import pandas as pd
from collections import defaultdict
d = defaultdict(list)
d["Date"].extend([
"01-01-15",
"01-02-15",
"01-03-15",
"01-04-15",
"01-05-15",
"01-06-15",
"01-07-15"
]
d["col1"].extend([5, 7])
d["col2"].extend([12, 0, 6, 9, -4, -11, 6])
d["col3"].extend([1, 9, 1, 8])
d["col4"].extend([-15, 11, 2, 10, 7, -1])
d["col5"].extend([10, 7, 18])
另一个选择是将
from_dict
与orient='index'
一起使用,然后进行转换:请注意,如果列具有不同的类型,例如一列中的float,另一列中的字符串,则可能会遇到{}的问题。在
结果输出:
^{pr2}$输出-
^{pr2}$使用itertools(Python 3):
相关问题 更多 >
编程相关推荐