我有一个dataframe df
如下:
| name | coverage |
|-------|----------|
| Jason | 25.1 |
我想把它变成一本字典。我在pandas
中使用了以下命令:
dict=df.to_dict()
dict
的输出如下:
{'coverage': {0: 25.1}, 'name': {0: 'Jason'}}
我不希望在输出中出现0
。我相信这是因为我的dataframe df
中的列索引而捕获的。我可以做些什么来消除0
在我的输出(我不希望索引被捕获。)预期输出:
{'coverage': 25.1, 'name': 'Jason'}
5条答案
按热度按时间ukdjmx9f1#
当我看到你的数据集有2列时,我看到的是一个系列,而不是一个 Dataframe 。
试试这个:
d = df.set_index('name')['coverage'].to_dict()
,它会把你的 Dataframe 转换成一个系列,然后输出。但是,如果你的目的是有更多的列,而不是一个公共键,你可以将它们存储在一个数组中,而不是使用'records'。
d = df.to_dict('r')
. `可运行代码:
退货:
还有一件事,尽量避免使用变量名dict,因为它是保留的。
6ie5vjzr2#
或
list
:键是列名,值是列数据的列表records
:每一行都成为一个字典,其中key是列名,value是单元格中的数据yqyhoc1h3#
你可以这样做:
9bfwbjaz4#
如果只有1列,则将1列切片(它被转换为Series), Package 在dict函数中
inn6fuwd5#
zip应该是另一个选择dict=dict(zip(df['name'],df['coverage']))