为了账号安全,请及时绑定邮箱和手机立即绑定

请问将Pythondict转换为dataframe

请问将Pythondict转换为dataframe

萧十郎 2019-08-01 13:02:07
将Pythondict转换为dataframe我有一个Python字典,如下所示:{u'2012-06-08': 388,  u'2012-06-09': 388,  u'2012-06-10': 388,  u'2012-06-11': 389,  u'2012-06-12': 389,  u'2012-06-13': 389,  u'2012-06-14': 389,  u'2012-06-15': 389,  u'2012-06-16': 389,  u'2012-06-17': 389,  u'2012-06-18': 390,  u'2012-06-19': 390,  u'2012-06-20': 390,  u'2012-06-21': 390,  u'2012-06-22': 390,  u'2012-06-23': 390,  u'2012-06-24': 390,  u'2012-06-25': 391,  u'2012-06-26': 391,  u'2012-06-27': 391,  u'2012-06-28': 391,  u'2012-06-29': 391,  u'2012-06-30': 391,  u'2012-07-01': 391,  u'2012-07-02': 392,  u'2012-07-03': 392,  u'2012-07-04': 392,  u'2012-07-05': 392,  u'2012-07-06': 392}钥匙是Unicode日期和值是整数。我想通过将日期和它们的对应值作为两个单独的列来转换成熊猫数据。示例:col1:日期col2:DateValue(日期仍然是Unicode,数据计算仍然是整数)     Date         DateValue0    2012-07-01    3911    2012-07-02    3922    2012-07-03    392.    2012-07-04    392.    ...           ....    ...           ...如能在这方面提供任何帮助,将不胜感激。我无法从熊猫的文档中找到资源来帮助我解决这个问题。我知道一个解决方案可能是将这个dict中的每个键值对转换为dict,这样整个结构就会变成一个dict,然后我们可以将每一行单独添加到dataframe中。但我想知道是否有更简单的方法和更直接的方法来做到这一点。到目前为止,我已经尝试将dict转换为一系列对象,但这似乎没有维护列之间的关系:s  = Series(my_dict,index=my_dict.keys())
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

正如另一个答案所解释的那样:pandas.DataFrame()直接在这里不像你想的那样。

你能做的就是用pandas.DataFrame.from_dict带着orient='index':

In[7]: pandas.DataFrame.from_dict({u'2012-06-08': 388,
 u'2012-06-09': 388,
 u'2012-06-10': 388,
 u'2012-06-11': 389,
 u'2012-06-12': 389,
 u'2012-06-13': 389,
 u'2012-06-14': 389,
 u'2012-06-15': 389,
 u'2012-06-16': 389,
 u'2012-06-17': 389,
 u'2012-06-18': 390,
 u'2012-06-19': 390,
 u'2012-06-20': 390,
 u'2012-06-21': 390,
 u'2012-06-22': 390,
 u'2012-06-23': 390,
 u'2012-06-24': 390,
 u'2012-06-25': 391,
 u'2012-06-26': 391,
 u'2012-06-27': 391,
 u'2012-06-28': 391,
 u'2012-06-29': 391,
 u'2012-06-30': 391,
 u'2012-07-01': 391,
 u'2012-07-02': 392,
 u'2012-07-03': 392,
 u'2012-07-04': 392,
 u'2012-07-05': 392,
 u'2012-07-06': 392}, orient='index')Out[7]: 
              02012-06-13  3892012-06-16  3892012-06-12  3892012-07-03  3922012-07-02  3922012-06-29  3912012-06-30  3912012-07-01  3912012-06-15  3892012-06-08  3882012-06-09  3882012-07-05  3922012-07-04  3922012-06-14  3892012-07-06  3922012-06-17  3892012-06-20  3902012-06-21  3902012-06-22  3902012-06-23  3902012-06-11  3892012-06-10  3882012-06-26  3912012-06-27  3912012-06-28  3912012-06-24  3902012-06-19  3902012-06-18  3902012-06-25  391



查看完整回答
反对 回复 2019-08-03
?
噜噜哒

TA贡献1784条经验 获得超7个赞

当将字典转换为熊猫数据文件时,您希望键是所述dataframe的列,而值是行值,您可以简单地在字典周围放置括号,如下所示:

new_dict = {'key 1': 'value 1', 'key 2': 'value 2', 'key 3': 'value 3'}In[33]:pd.DataFrame([new_dict])Out[33]: 
    key 1     key 2     key 30   value 1   value 2   value 3

它让我省去了一些头痛,所以我希望它能帮助到外面的人!




查看完整回答
反对 回复 2019-08-03
  • 3 回答
  • 0 关注
  • 686 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信