【发布时间】:2016-11-21 15:15:39
【问题描述】:
我有一个字典,它保存不同时间滞后的计算值,这意味着它们从不同的日期开始。例如,我拥有的数据可能如下所示:
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) 时,我可以理解地收到一条错误消息,指出所有数组必须具有相同的长度。是否有一种简单/简单的方法来填充或填充数字,以便输出最终成为以下数据帧?
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 NaN 6 1 2 18
01-04-15 NaN 9 8 10 NaN
01-05-15 NaN -4 NaN 7 NaN
01-06-15 NaN -11 NaN -1 NaN
01-07-15 NaN 6 NaN NaN NaN
或者我必须对每个列表手动执行此操作吗?
这里是重新创建字典的代码:
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])
【问题讨论】:
-
您能添加可以重新创建示例字典的代码吗?另外,N/A 是指 NaN 吗?
-
如果您做一些腿部工作并分享@Divakar 所指的代码,您将很容易从我们中的一个人那里得到答案。
-
刚刚添加。是的,我的意思是NaN。抱歉,我在 Excel 上花费了太多时间。
标签: python pandas dictionary dataframe na