来自嵌套字典的多索引数据框
Posted
技术标签:
【中文标题】来自嵌套字典的多索引数据框【英文标题】:multiindex dataframe from nested dictionary of sets 【发布时间】:2017-06-16 01:31:26 【问题描述】:我有一个嵌套的日期集字典,d
d= "A": 'a': datetime1, datetime2, 'b': datetime3, 'c':datetime4,
"B": 'a': datetime5, datetime1, datetime3
我想要一个 pandas DataFrame df
dates
A a datetime1
datetime2
b datetime3
...
这可能是一个重复的问题 Nested dictionary to multiindex dataframe where dictionary keys are column labels
但是,我无法在这里获得该问题中给出的建议,因此我敢于重新发布该问题。 (但是,我之前曾在其他嵌套字典中成功使用过该问题中的方法)。所以,做类似的事情
df = pd.DataFrame.from_dict((i, j): d[i][j]
for i in d.keys()
for j in d[i].keys(),
orient='index')
创建一个混乱的数千个整数作为列(每个日期可能一个?),元组 (i,j) 作为单个索引(而不是两级索引,i 和 j)。问题仅仅是因为我在数据框中只有一列吗?我不能有一个多索引系列吗?还是我遗漏了一些非常明显的东西?
【问题讨论】:
【参考方案1】:我认为您应该将 dict 分成索引及其数据,然后创建 pd.MultiIndex
和 pd.Series
。我正在处理给定 here 的示例,但针对您的字典稍作修改。
index, series = zip(*[((i, j), d[i][j]) for i in d for j in d[i]])
index = pd.MultiIndex.from_tuples(index, names=['Captial', 'lowercase'])
series = pd.Series(series, index=index)
【讨论】:
第一行返回“ValueError: too many values to unpack (expected 2)”。你能建议一些轻微的修改吗? 亲爱的先生,你是救命稻草 :)以上是关于来自嵌套字典的多索引数据框的主要内容,如果未能解决你的问题,请参考以下文章