Python 如何从字典中创建一个数据框架,其中键和值都是列?

Python 如何从字典中创建一个数据框架,其中键和值都是列?,python,dictionary,dataframe,Python,Dictionary,Dataframe,字典示例: {'892420643555336193': (8374, 38224), '892177421306343426': (6181, 32765), '891815181378084864': (4091, 24675), '891689557279858688': (8512, 41548), '891327558926688256': (9219, 39740)} 我想要一个数据帧,其中(第一行的示例) 您可以创建字典键的数据框和一个字典值,并使用pd.conc

字典示例:

{'892420643555336193': (8374, 38224),

 '892177421306343426': (6181, 32765),

 '891815181378084864': (4091, 24675),

 '891689557279858688': (8512, 41548),

 '891327558926688256': (9219, 39740)}
我想要一个数据帧,其中(第一行的示例)


您可以创建字典键的数据框和一个字典值,并使用
pd.concat
组合它们:

import pandas as pd
# where d is your dictionary
df = pd.concat((pd.DataFrame(list(d.keys())),pd.DataFrame(list(d.values()))),axis=1)

>>> df
                    0     0      1
0  892420643555336193  8374  38224
1  892177421306343426  6181  32765
2  891815181378084864  4091  24675
3  891689557279858688  8512  41548
4  891327558926688256  9219  39740
或者,使用字典创建一个普通数据帧,对其进行转置,然后重置索引(注意顺序已切换):

然后,您可以根据需要重命名列:

df.columns = ['A','B','C']
df = pd.DataFrame(d).T.reset_index()
>>> df
                index     0      1
0  891327558926688256  9219  39740
1  891689557279858688  8512  41548
2  891815181378084864  4091  24675
3  892177421306343426  6181  32765
4  892420643555336193  8374  38224
df.columns = ['A','B','C']