【问题标题】:Convert dataframe to dict? [duplicate]将数据框转换为字典? [复制]
【发布时间】:2018-09-22 20:22:49
【问题描述】:

我有以下数据结构(称为df):

    x         Fx          Fxcum
0  -1.192809  0.888734    0.888734
1  -1.182809  0.483803    1.372537
2  -1.172809 -0.318153    1.054384
3  -1.162809 -0.966345    0.088038
4  -1.152809 -1.512387   -1.424349

标题xFxFxcum 是动态的。如果我应用函数tolist():

dict(y=df['x'].tolist())

我明白了:

{'x': [-1.192809,
       -1.182809,
       -1.172809,
       -1.162809,
       -1.152809]}

首先我需要阅读并非总是xFxFxcum 的标题并获得以下列表:

{'x': [-1.192809,
       -1.182809,
       -1.172809,
       -1.162809,
       -1.152809],
 'Fx': [-1.192809,
       -1.182809,
       -1.172809,
       -1.162809,
       -1.152809],
 'Fxcum': [-1.192809,
       -1.182809,
       -1.172809,
       -1.162809,
       -1.152809]}

你能指出我正确的方向吗?我需要创建一个循环还是有一些库可以帮助我?

【问题讨论】:

  • 我用 df 你用的是 python pandas?并且您想转换所有列xfxfxcum
  • 如果这是一个 pandas DataFrame,只需执行df.to_dict()。你可以乱用orient 参数来得到你想要的形式。
  • 嗨托尼,是的,我正在使用熊猫。

标签: python pandas dictionary dataframe


【解决方案1】:

从您的帖子看来,您似乎在使用 Pandas。

Pandas 有一种方法可以完全满足您的需求:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html

df.to_dict('list')

例子:

>>> df
   col1  col2
a     1   0.1
b     2   0.2
>>> df.to_dict('list')
{'col1': [1, 2], 'col2': [0.5, 0.75]}

【讨论】:

  • .to_dict(orient="list") 应该返回他们想要的值。
  • 谢谢。我错过了!
猜你喜欢
  • 2016-03-23
  • 2022-07-05
  • 2020-04-11
  • 2019-10-19
  • 2019-08-02
  • 1970-01-01
  • 2021-06-19
相关资源
最近更新 更多