将数据帧转换为字典?
将数据帧转换为字典?
我有以下数据结构(称为df
):\n x Fx Fxcum\n0 -1.192809 0.888734 0.888734\n1 -1.182809 0.483803 1.372537\n2 -1.172809 -0.318153 1.054384\n3 -1.162809 -0.966345 0.088038\n4 -1.152809 -1.512387 -1.424349\n
\n标题x
,Fx
和Fxcum
是动态的。如果我应用函数tolist()
:\n
dict(y=df['x'].tolist())
\n我得到:\n
{'x': [-1.192809, -1.182809, -1.172809, -1.162809, -1.152809]}
\n首先,我需要读取并不总是x
,Fx
和Fxcum
的标题,并获得以下列表:\n
{'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]}
\n你能指点我正确的方向吗?我需要创建一个循环还是有一些库可以帮助我?
问题:如何将DataFrame转换为字典?
原因:根据帖子的描述,我们可以推断出问题的原因是帖子中的作者正在使用Pandas,并希望将DataFrame转换为字典。作者可能不知道Pandas提供了一个可以实现这个功能的方法。
解决方法:Pandas提供了一个名为to_dict的方法,可以将DataFrame转换为字典。可以使用以下代码实现转换:
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"),可以按照帖子中的要求返回值。
感谢您的回答,我忽略了这一点!