python - 如何在没有索引的情况下将数据框转换为 Pandas 中的字典

标签 python pandas dictionary dataframe

我有一个数据框 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/

相关文章:

python - 如何在新的运行工具窗口中运行相同的应用程序? Pycharm 社区 2017

python - Python-如何为多用户输入创建错误处理?

python - 如何在 sklearn 中一次对多个列应用预处理方法

python - 合并字典内的列表值

java - 用 Java 漂亮地打印 map

python - 如何使用 python 2.7+ 生成 JSON 数据

python - 如何使用 Selenium Webdriver 单击列表中的第一个链接

python - 在 excepthook 中打印原始异常

python-3.x - 具有缺失值的 Pandas 中跨列的唯一值

python - 如何使用 python pandas 计算总天数、小时数和分钟数?