如何解决当我将此数据帧转换为字典时,为什么索引设置不正确?
如果有人可以指出正确的方向,我将不胜感激。我正在尝试将pandas数据帧转换为字典,并使用索引作为键。行中的值将是字典的值,但是我无法正确设置索引。我需要字典格式,因为它是其他需要高效查找值的内容的一部分。
#result from confidence intervals
conf_it = results.conf_int(alpha = 0.05)
conf_it = pd.DataFrame(conf_it)
#print output
print(conf_it)
0 1
panda 10 15
cat 7 9
dog 8 17
#rename and select relevant columns
conf_it = conf_it.rename(columns = {0: "lower",1: "upper"})
LowPredictedImpact = conf_it[['lower']]
#convert dataframes into dictionaries
q = LowPredictedImpact.to_dict('index')
#Output
list(q.items())
[('panda',{'lower': 10}),('cat',{'lower': 7}),('dog',{'lower': 8})]
The output I need:
[('panda',10),7),8)]
Other acceptable alternative output:
[({'panda': 10}),({'cat': 7}),({'dog': 8})]
If someone could please point me in the right direction I would be very grateful.
解决方法
您不需要将数据框转换为字典。只需创建一个具有所需值的新列作为元组,然后将该列值提取到列表中即可。
In [52]: df
Out[52]:
lower upper
key
panda 10 15
dog 7 9
cat 8 17
In [53]: df.reset_index(inplace=True)
In [54]: df['tuple'] = list(zip(df.key,df.lower))
In [55]: df
Out[55]:
key lower upper tuple
0 panda 10 15 (panda,10)
1 dog 7 9 (dog,7)
2 cat 8 17 (cat,8)
In [56]: final_output = df['tuple'].to_list()
In [57]: final_output
Out[57]: [('panda',10),('dog',7),('cat',8)]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。