Pandas DataFrame转换为字典的方法

该to_dict()方法将列名设置为字典键将“ID”列设置为索引然后转置DataFrame是实现此目的的一种方法。to_dict()还接受一个'orient'参数,您需要该参数才能输出每列的值列表。否则,{index: value}将为每列返回表单的字典。

可以使用以下行完成这些步骤:

>>> df.set_index('ID').T.to_dict('list')
{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

如果需要不同的字典格式,这里是可能的东方参数的示例。考虑以下简单的DataFrame:

>>> df = pd.DataFrame({'a': ['red', 'yellow', 'blue'], 'b': [0.5, 0.25, 0.125]})
>>> df
        a      b
0     red  0.500
1  yellow  0.250
2    blue  0.125

然后选项如下。

dict - 默认值:列名是键,值是索引的字典:数据对

>>> df.to_dict('dict')
{'a': {0: 'red', 1: 'yellow', 2: 'blue'},
 'b': {0: 0.5, 1: 0.25, 2: 0.125}}

list - 键是列名,值是列数据列表

>>> df.to_dict('list')
{'a': ['red', 'yellow', 'blue'],
 'b': [0.5, 0.25, 0.125]}

系列 - 比如'list',但值是Series

>>> df.to_dict('series')

{'a': 0       red
      1    yellow
      2      blue
      Name: a, dtype: object,
 'b': 0    0.500
      1    0.250
      2    0.125
      Name: b, dtype: float64}

split - 将列/数据/索引拆分为键,值分别为列名,数据值分别按行和索引标签

>>> df.to_dict('split')

{'columns': ['a', 'b'],
 'data': [['red', 0.5], ['yellow', 0.25], ['blue', 0.125]],
 'index': [0, 1, 2]}

记录 - 每一行都成为一个字典,其中键是列名,值是单元格中的数据

>>> df.to_dict('records')
>
[{'a': 'red', 'b': 0.5},
 {'a': 'yellow', 'b': 0.25},
 {'a': 'blue', 'b': 0.125}]

index - 类似于'records',但是一个字典字典,其中键作为索引标签(而不是列表)

>>> df.to_dict('index')

{0: {'a': 'red', 'b': 0.5},
 1: {'a': 'yellow', 'b': 0.25},
 2: {'a': 'blue', 'b': 0.125}}

到此这篇关于Pandas DataFrame转换为字典的方法的文章就介绍到这了,更多相关Pandas DataFrame转换为字典内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pandas 实现字典转换成DataFrame的方法

    把dictd = {'A':0}转换成DataFrame, 首先,DataFrame的语法格式应为: import pandas as pd df = pd.DataFrame({'A':[0]})#'A'是columns,对应的是list 输出: A 0 0 但是如果是: df = pd.DataFrame({'A':0})#直接输入dict 会报错 ValueError: If using all scalar values, you must pass an index 解决办法1: 指定

  • Pandas DataFrame转换为字典的方法

    该to_dict()方法将列名设置为字典键将"ID"列设置为索引然后转置DataFrame是实现此目的的一种方法.to_dict()还接受一个'orient'参数,您需要该参数才能输出每列的值列表.否则,{index: value}将为每列返回表单的字典. 可以使用以下行完成这些步骤: >>> df.set_index('ID').T.to_dict('list') {'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]} 如果

  • Python中将dataframe转换为字典的实例

    有时候,在Python中需要将dataframe类型转换为字典类型,下面的方法帮助我们解决这一问题. 任务代码. # encoding: utf-8 import pandas as pd a = ['Name', 'Age', 'Gender'] b = ['Ali', '19', 'China'] data = pd.DataFrame(zip(a, b), columns=['project', 'attribute']) print data dict_country = data.se

  • python中pandas.DataFrame排除特定行方法示例

    前言 大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇文章. pandas.DataFrame排除特定行 如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. 但是如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法.我今天的工作就遇到了这样的需

  • django 将model转换为字典的方法示例

    平常的开发过程中不免遇到需要把model转成字典的需求,尤其是现在流行前后端分离架构,Json格式几乎成了前后端之间数据交换的标准,这种model转dict的需求就更多了,本文介绍日常使用的方法以供参考 from django.forms.models import model_to_dict from projects.models import ProjectInformation site = ProjectInformation.objects.get(id=6) dict = mode

  • pandas.DataFrame.from_dict直接从字典构建DataFrame的方法

    目录 参数解析 实例 pandas函数中pandas.DataFrame.from_dict 直接从字典构建DataFrame . 参数解析 DataFrame from_dict()方法用于将Dict转换为DataFrame对象. 此方法接受以下参数. data: dict or array like object to create DataFrame.data :字典或类似数组的对象来创建DataFrame. orient: The orientation of the data. The

  • pandas.DataFrame选取/排除特定行的方法

    pandas.DataFrame选取特定行 使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. >>> df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB', 'AH'], ['HEN', 'HEN', 'HL

  • Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】

    本文实例讲述了Python实现从SQL型数据库读写dataframe型数据的方法.分享给大家供大家参考,具体如下: Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sql数据库中.而pandas中的read_sql和to_sql函数就可以很方便得从sql数据库中读写数据. read_sql 参见pandas.read_sql的文档,read_sql主

  • python pandas dataframe 按列或者按行合并的方法

    concat 与其说是连接,更准确的说是拼接.就是把两个表直接合在一起.于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的关键参数是axis . 函数的具体参数是: concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verigy_integrity=False) objs 是需要拼接的对象集合,一般为列表或者字典 axis=0 是

  • pandas 实现将重复表格去重,并重新转换为表格的方法

    在python处理数据时,经常用到DataFrame和set. train=pd.read_csv('XXX.csv')#读取文件 train=train['item_id']#选择要去重的列 train=set(train)#去重 data=pd.DataFrame(list(train),columns=['item_id'])#因为set是无序的,必须要经过list处理后才能成为DataFrame data.to_csv('xxx.csv',index=False)#保存表格 记得导入pa

  • python的dataframe转换为多维矩阵的方法

    最近有一个需求要把dataframe转换为多维矩阵,然后可以使用values来实现,下面记录一下代码,方便以后使用. import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(3,3),columns=list('abc'),index=list('ABC')) print(df) print('============') print(df.values) 实现的效果: 以上这篇python的datafram

随机推荐