说我有一个类似的字典:
{('a','1'):2,
('a','2'):1,
('b','1'):3,
('b','2'):2}
我想获得一个数据帧结果,该结果采用第一个键的最高值项(在这种情况下为'a','b'),并从元组键创建一个数据帧。
key value
'a' '1'
'b' '1'
我怎么能在python中做到这一点?
答案 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