我有以下字典:
dict_1={'AB':50,'ACC':20,'CEKK':75,'AB':25,'CEKK':75,'BBA':58,'BBA':58 }
当我把它变成df时:
pd.DataFrame(data=list(dict_1.values()),index=list(dict_1.keys()),columns=['number'])
它只提供字典中的每个键一次。
number
ACC 20
AB 25
CEKK 75
BBA 58
所需的输出是df,所有值都包括重复的值。
number
ACC 20
AB 25
CEKK 75
BBA 58
AB 50
CEKK 75
BBA 58
有没有一种可行的方法可以让数据框包含重复的值而不会明确地说明数据和索引的值?
答案 0 :(得分:2)
Python字典消除了之前的所有重复项到达Pandas。
In [466]: dict_1={'AB':50,'ACC':20,'CEKK':75,'AB':25,'CEKK':75,'BBA':58,'BBA':58 }
In [467]: dict_1
Out[467]: {'AB': 25, 'ACC': 20, 'BBA': 58, 'CEKK': 75}
解决方法:
In [465]: pd.DataFrame({'number':[20, 25, 75, 58, 50, 75, 58]},
index=['ACC', 'AB', 'CEKK', 'BBA', 'AB', 'CEKK', 'BBA'])
Out[465]:
number
ACC 20
AB 25
CEKK 75
BBA 58
AB 50
CEKK 75
BBA 58
更新:这就是具有重复键的词典所发生的事情:
In [79]: print({'AB':50,'ACC':20,'CEKK':75,'AB':25,'CEKK':75,'BBA':58,'BBA':58 })
{'AB': 25, 'ACC': 20, 'CEKK': 75, 'BBA': 58}
将它传递给pd.DataFrame()
构造函数时, 将完全相同。因此pd.DataFrame()
会收到字典没有重复字词。