首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字典解压到单个DataFrame中

将字典解压到单个DataFrame中
EN

Stack Overflow用户
提问于 2018-11-28 20:35:28
回答 2查看 780关注 0票数 0

我有一个复杂的字典,我想将其解压到一个DataFrame中,但我无法理解它。我想把包含在‘DataFrame’中的数据(即所有的数据都包含在[]中)解压成一个单独的行( 'rows‘),我已经尝试了在字典中访问的许多组合,但都没有效果。

以下是数据:

代码语言:javascript
复制
{None: {'transfers': {'1': {'rows': [{'pointOfSaleID': 2,
  'initialAmount': '£0.00',
  'opened': 'xx, 27/11/2018 11:58',
  'dayIncome': '£336.23',
  'cash': [{'dateTime': '27/11/2018 18:23',
    'employeeName': 'xx',
    'sum': '-£45.00',
    'comment': 'cabs to collect in store stock\nEvents'}],
  'cashTotal': '£291.23',
  'cashExpected': '£291.23',
  'closed': 'xx, 27/11/2018 20:54',
  'banked': '£0.00',
  'left': '£0.00',
  'totalCounted': '£0.00',
  'difference': '-£291.23',
  'varianceReason': '',
  'totalTransactions': 48},
 {'pointOfSaleID': 2,
  'initialAmount': '£0.00',
  'opened': 'xx, 28/11/2018 09:16',
  'dayIncome': '£35.94',
  'cashTotal': '£35.94',
  'cashExpected': '£35.94',
  'closed': '----',
  'banked': '----',
  'left': '----',
  'totalCounted': '----',
  'difference': '----',
  'varianceReason': '',
  'totalTransactions': 3}...]

如何仅访问行中的数据并将其解压缩到DataFrame中?

EN

回答 2

Stack Overflow用户

发布于 2018-11-28 21:14:04

假设您的字典名为'd',这应该会得到嵌套字典的列表,每条记录(每行)都有一个字典:

代码语言:javascript
复制
d[None]['transfers']['1']['rows']

您应该能够将其传递到DataFrame构造函数中:

代码语言:javascript
复制
df = pd.DataFrame(d[None]['transfers']['1']['rows'])

如果这样做有效,您最终将在列cash的每个条目中嵌套字典。为了解决这个问题,我建议您使用[json_normalize](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.json.json_normalize.html),这个SO线程可能会帮助您理解它:pandas.io.json.json_normalize with very nested json

票数 1
EN

Stack Overflow用户

发布于 2018-11-28 20:48:09

from_dict函数应该适用于您的情况。下面的文档相当不错:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.from_dict.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53519620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档