我这里有一个多键录音机。我试图通过dict按第一个键(a,B)分组,并将其转换为转置数据帧,然后将其写入csv文件
>>> dic= { ('A',1): 4, ('A',1):2, ('B', 1): 2, ('A', 2): 5, ('B', 2):3}
>>> dic
{('A', 1): 2, ('B', 1): 2, ('A', 2): 5, ('B', 2): 3}
>>> df = pd.DataFrame(dic.items()).groupby(0).sum()
>>> df
1
0
(A, 1) 2
(A, 2) 5
(B, 1) 2
(B, 2) 3
以下是我到目前为止一直在做的事情:
>>> df = pd.DataFrame(dic.items()).groupby(0).sum()
>>> df
1
0
(A, 1) 4
(A, 2) 5
(B, 1) 2
(B, 2) 3
>>> df_t = df.T
0 (A, 1) (A, 2) (B, 1) (B, 2)
1 4 5 2 3
>>> df_t.to_csv(./file.csv)
我希望得到的是这样的东西:
1 2
A 6 5
B 2 3
首先,字典从不包含重复的键(即字典可以保存1个键到N个值,但不能保存N个键到1个值)。在当前场景中,您的
dic
包含重复的键,因此在执行时将只接受最新的值。如果dic
包含重复的键,可能的解决方案是将值放入列表中。差不多应该是,
现在解决方案部分
输出:
相关问题 更多 >
编程相关推荐