gpt4 book ai didi

python - 如何将嵌套字典转换为 pandas DataFrame

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:10 25 4
gpt4 key购买 nike

我有以下嵌套字典dict:

{
'x1':
{
'k1':
{
'first_col': 'Date',
'col_type': pandas._libs.tslibs.timestamps.Timestamp,
'col_min_val': Timestamp('2017-12-04 00:00:00')
},
'k2':
{
'first_col': 'Date',
'col_type': pandas._libs.tslibs.timestamps.Timestamp,
'col_min_val': Timestamp('2018-02-02 00:00:00')
}
}
'x2':
{
'k1':
{
'first_col': 'Date',
'col_type': pandas._libs.tslibs.timestamps.Timestamp,
'col_min_val': Timestamp('2017-12-04 05:00:00')
}
}
}

我需要获取这个 pandas DataFrame:

col1   col2   first_col   col_type                                   col_min_val
x1 k1 Date pandas._libs.tslibs.timestamps.Timestamp Timestamp('2017-12-04 00:00:00')
x1 k2 Date pandas._libs.tslibs.timestamps.Timestamp Timestamp('2018-02-02 00:00:00')
x2 k1 Date pandas._libs.tslibs.timestamps.Timestamp Timestamp('2017-12-04 05:00:00')

这是我尝试过的,但结果与预期不符:

pd.DataFrame(dict).stack().reset_index()

最佳答案

为两个级别创建带有附加键的字典列表并调用 DataFrame 构造函数:

编辑:

不要使用 dict 作为变量名,因为 python 代码字(builtin)。

#https://stackoverflow.com/a/34757497
L = [dict(d[i][j], **{'col1': i,'col2': j})
for i in d.keys()
for j in d[i].keys()]

df = pd.DataFrame(L)
print (df)

col1 col2 col_min_val col_type \
0 x1 k1 2017-12-04 00:00:00 pandas._libs.tslibs.timestamps.Timestamp
1 x1 k2 2018-02-02 00:00:00 pandas._libs.tslibs.timestamps.Timestamp
2 x2 k1 2017-12-04 05:00:00 pandas._libs.tslibs.timestamps.Timestamp

first_col
0 Date
1 Date
2 Date

关于python - 如何将嵌套字典转换为 pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55491186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com