我有一个数据框 df
如下:
| name | coverage |
|-------|----------|
| Jason | 25.1 |
我想把它转换成字典。
我在 pandas
中使用了以下命令:
dict=df.to_dict()
dict
的输出给了我以下内容:
{'coverage': {0: 25.1}, 'name': {0: 'Jason'}}
我不想在我的输出中出现 0
。我相信这是由于我的数据帧 df
中的列索引而被捕获的。
我该怎么做才能消除输出中的 0
(我不想捕获索引。)预期输出:
{'coverage': 25.1, 'name': 'Jason'}
最佳答案
当我看到您的数据集有 2 列时,我看到的是一个系列而不是数据框。
试试这个:d = df.set_index('name')['coverage'].to_dict()
这会将您的数据帧转换为一个系列并输出。
但是,如果您的意图是拥有更多列而不是公共(public)键,您可以将它们存储在一个数组中,而不是使用“记录”。 d = df.to_dict('r')
。
`
可运行代码:
import pandas as pd
df = pd.DataFrame({
'name': ['Jason'],
'coverage': [25.1]
})
print(df.to_dict())
print(df.set_index('name')['coverage'].to_dict())
print(df.to_dict('r'))
返回:
{'name': {0: 'Jason'}, 'coverage': {0: 25.1}}
{'Jason': 25.1}
[{'name': 'Jason', 'coverage': 25.1}]
还有一件事,尽量避免使用变量名 dict,因为它是保留的。
关于python - 如何在没有索引的情况下将数据框转换为 Pandas 中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52547805/