如何使用元组键操作字典以输出pandas数据帧

时间:2018-05-03 19:39:55

标签: python pandas dictionary dataframe

说我有一个类似的字典:

{('a','1'):2,
 ('a','2'):1,
 ('b','1'):3,
 ('b','2'):2}

我想获得一个数据帧结果,该结果采用第一个键的最高值项(在这种情况下为'a','b'),并从元组键创建一个数据帧。

key    value
'a'      '1'
'b'      '1'

我怎么能在python中做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

# let d is your dictionary
df = pd.DataFrame(d.keys(),columns=['key','value'])
df['freq'] = pd.DataFrame(d.values())
df['freq'] = pd.DataFrame(list(d.values()))
df = df.loc[df[['key','freq']].groupby('key').idxmax().freq]
       .drop('freq',axis=1)

Out[]:
    key value
2   a   1
0   b   1

如果需要,请重置索引:

df = df.reset_index(drop=True)

Out[]:
    key value
0   a   1
1   b   1