熊猫到D3。将数据帧序列化为 JSON

2024-04-19

我有一个包含以下列且没有重复项的 DataFrame:

['region', 'type', 'name', 'value']

可以看作是一个层次结构,如下所示

grouped = df.groupby(['region','type', 'name'])

我想将此层次结构序列化为 JSON 对象。

如果有人感兴趣,这背后的动机是最终将一个可视化组合在一起,例如this one http://bl.ocks.org/mbostock/4063582这需要一个JSON file.

为此,我需要转换grouped分为以下内容:

new_data['children'][i]['name'] = region
new_data['children'][i]['children'][j]['name'] = type
new_data['children'][i]['children'][j]'children'][k]['name'] = name
new_data['children'][i]['children'][j]'children'][k]['size'] = value
...

where region, type, name对应于层次结构的不同级别(索引为i, j and k)

Pandas/Python 有没有一种简单的方法可以做到这一点?


沿着这些思路的一些东西可能会让你到达那里。

from collections import defaultdict

tree = lambda: defaultdict(tree)  # a recursive defaultdict
d = tree()
for _, (region, type, name, value) in df.iterrows():
    d['children'][region]['name'] = region
    ...

json.dumps(d)

矢量化解决方案会更好,也许可以利用 groupby 的速度,但我想不出这样的解决方案。

还看一下df.groupby(...).groups,它返回一个字典。

也可以看看这个答案 https://stackoverflow.com/a/19189366/1221924.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫到D3。将数据帧序列化为 JSON 的相关文章

  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • 使用 NumPy 编写一个函数来计算具有特定公差的积分

    我想编写一个自定义函数来以特定容差对表达式 python 或 lambda 函数 进行数字积分 我知道与scipy integrate quad人们可以简单地改变epsabs但我想使用 numpy 自己编写该函数 From 这篇博文 htt
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 使用pathlib获取主目录

    翻看新的pathlib在 Python 3 4 中 我注意到没有任何简单的方法来获取用户的主目录 我能想到的获取用户主目录的唯一方法是使用旧的os path像这样的库 import pathlib from os import path p
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • Python - Unicode 到 ASCII 的转换

    我无法在不丢失数据的情况下将以下 Unicode 转换为 ASCII u ABRA xc3O JOS xc9 I tried encode and decode他们不会这么做 有人有建议吗 Unicode 字符u xce0 and u xc
  • 为什么 re.findall 在查找字符串中的三元组项时不具体。 Python

    所以我有四行代码 seq ATGGAAGTTGGATGAAAGTGGAGGTAAAGAGAAGACGTTTGA OR 0 re findall r ATG 9 TAA TAG TGA seq 首先让我解释一下我正在尝试做什么 如果这令人困惑
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 高级描述熊猫

    有没有像 pandas 那样更高级的功能 通常我会继续这样 r pd DataFrame np random randn 1000 columns A r describe 我会得到一份很好的总结 就像这样 A count 1000 000
  • 无法使用 python rasterio、gdal 打开 jp2 (来自哨兵)

    我试图在 python 中将 jp2 栅格产品作为栅格打开 但当我们使用 raterio 和 gdal 包时没有成功 我收到此错误 RasterioIOError b4 jp2 not recognized as a supported f
  • Seaborn 中没有线性拟合的散点图

    我想知道是否有办法关闭seaborn中的线性拟合lmplot或者是否有一个等效函数可以生成散点图 当然 我也可以使用 matplotlib 但是 我发现 seaborn 中的语法和美学非常吸引人 例如 我想绘制以下情节 import sea
  • 是否可以在Python中将日+月(不是年)与当前日+月进行比较?

    我正在获取 5 月 10 日 格式的数据 我试图弄清楚它是今年还是明年 该日期仅一年 因此 5 月 10 日表示 2015 年 5 月 10 日 而 5 月 20 日表示 2014 年 5 月 20 日 为此 我想将字符串转换为日期格式并进
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • 无法导入QUERY_TERMS

    我正在运行一个网站Python and Django Django filters 2 1 installed Django 2 1 installed 当我运行时 我收到以下错误 importError Could not import
  • 如何使用 enumerate 来倒数?

    letters a b c 假设这是我的清单 在哪里for i letter in enumerate letters 将会 0 a 1 b 2 c 我怎样才能让它向后枚举 如 2 a 1 b 0 c 这是一个很好的解决方案并且工作完美 i
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • D3 将现有 SVG 字符串(或元素)追加(插入)到 DIV

    我到处寻找这个问题的答案 并找到了一些我认为可能有用的资源 但最终没有让我找到答案 这里有一些 外部SVG http bl ocks org mbostock 1014829 嵌入SVG https stackoverflow com qu

随机推荐

  • ASP.Net 在会话 cookie 中存储用户密码?

    我知道会员资格提供商将用户名和过期时间存储在加密的 cookie 中 然后使用它来验证用户是否仍然登录会话 是否也可以将用户密码存储在这个加密的 cookie 中 如果是这样 您将如何在服务器端访问它 我需要服务器端可用的用户名和密码 因为
  • MySQL + Code First + 延迟加载问题!

    在一个非常简单的房地产程序中 我尝试使用 EF Code First 列出房屋的所有图像 附加到我拥有的现有数据库 我使用 MySQL Conector 6 3 6 这是我的代码 namespace CodeFirstMySQL class
  • 通过 unix shell 命令查找给定文件扩展名的首选应用程序

    这可能不是strictly关于编程 但如果我找不到现成的解决方案 它可能会成为一个编程任务 在 UNIX 上 用于确定给定文件类型的用户首选应用程序的命令行方法是什么 我理想的解决方案是一个命令 让我不必执行以下操作 okular foo
  • OnItemCLickLIstener 不适用于 ListView

    我有一个带有 ListView 的活动 具有自定义视图的 ListView 我将 OnItemClickLIstener 添加到 ListView 中 当我点击项目时 结果我什么也没看到 ListView 的活动
  • 从日期中减去时间 - 时刻 js

    例如我有这个日期时间 01 20 00 06 26 2014 我想减去这样的时间 00 03 15 之后我想将结果格式化为这样 3 hours and 15 minutes earlier 我怎样才能做到这一点使用moment js edi
  • useReducer Action 调度两次

    Scenario 我有一个返回操作的自定义挂钩 父组件 Container 利用自定义钩子并将操作作为 prop 传递给子组件 Problem 当从子组件执行操作时 实际调度会发生两次 现在 如果子级直接使用钩子并调用操作 则调度仅发生一次
  • 当我不知道它是否是临时的时,C++ 返回类型

    假设Foo是一个相当大的数据结构 我应该怎样写一个const返回实例的虚函数Foo 如果我不知道继承的类是否会存储Foo内部 因此 允许通过引用返回 如果我无法在内部存储它 我的理解是我无法返回const引用它 因为它将是临时的 它是否正确
  • 如何使用 Laravel + JavaScript 创建搜索过滤器?

    我最近创建了一个 JavaScript 过滤器来过滤产品表中的数据 我有 5 个字段可以输入搜索 它们是 描述 型号 经销商和库存 我将表与另一个视图中的产品分开 并将字段保留在索引中 我需要该表返回我在字段中输入的值 我举了一个用 描述
  • WP7 检查互联网是否可用

    我的应用程序 WP7 未被接受 因为如果互联网不可用 它无法加载 我寻找一种方法来检查它并找到了这个命令 NetworkInterface GetIsNetworkAvailable 但它无法在模拟器上运行 而且我没有任何设备来测试它 有人
  • 在 git-svn 中克隆主干后克隆分支的最佳方法是什么?

    给定一个包含许多分支的大型 Subversion 存储库 我想开始使用git svn通过克隆trunk首先 然后添加特定分支 我看到至少三种方法可以做到这一点 但是其中任何一种都是 官方的 还是有最好的方法 假设以下布局 https svn
  • Delphi 6:在缺少抽象类方法时强制编译器错误?

    我使用的是 Delphi Pro 6 现在 了解类是否缺少基类抽象方法的唯一方法是等待 IDE 发出 包含抽象方法 base class 抽象方法名称 警告或在尝试调用缺少的方法时等待运行时抽象错误方法 前者是不够的 因为它只查找当前项目中
  • 如何在 log4j 中启用包级别日志记录

    谁能告诉我 log4j 中的包级别日志记录是什么 以及如何实现这一点 今天我的面试问题无法回答 即使我在谷歌中也没有找到好的解决方案 太感谢了 包级别日志记录是 log4j 的标准日志记录 使用 log4j 配置 您可以指定包和关联的级别
  • 将 std::wstring 转换为 int

    我认为这非常简单 但我无法让它发挥作用 我只是想将 std wstring 转换为 int 到目前为止我已经尝试了两种方法 第一种是将 C 方法与 atoi 一起使用 如下所示 int ConvertedInteger atoi OrigW
  • 如何让传单地图画布具有 100% 的高度?

    我的传单画布目前如下所示 高度为 700 像素 不过我希望它的高度为 100 以便占据整个空白区域 高度 100 在地图画布的 CSS 属性中不起作用 我找到了一些解决方案 但它们只适用于谷歌地图 有没有人有解决方案 即使这只是一个解决方法
  • 在 Matplotlib 3D 绘图中获取观察/相机角度?

    当我用鼠标旋转 Matplotlib 3D 图时 如何保存视角 相机位置 并在下次运行脚本时使用这些值以编程方式设置视角 TL DR 视角存储在图形的轴对象中 名称为elev and azim 并且视图可以设置为plt gca view i
  • jQuery AJAX 参数未传递给 MVC

    我有点陷入可能是常见的情况 但找不到太多解决方案 我将单个 int 参数传递给 MVC 控制器方法 期望返回 Json 响应 问题是 该参数虽然在客户端填充 但在服务器端无法识别并被解释为空 这是代码 function getBatches
  • 无法在react-native中获取iOS推送通知设备令牌

    我提到这个问题 https stackoverflow com questions 35387227 get device token with react native获取设备令牌以便将推送通知发送到我的应用程序 我使用创建了我的应用程序
  • 如何在 Swift 中获取由整数表示的 Unicode 代码点?

    所以我知道如何将字符串转换为utf8格式 如下所示 for character in strings utf8 for example A will converted to 65 var utf8Value character 我已经阅读
  • “栅栏已经激活——来不及添加写入”

    下面的错误信息是什么意思 栅栏已经激活 来不及添加写入 以下是如何获取它的示例 环境 Mac OS X http en wikipedia org wiki Mac OS X Lion 流星0 3 8 项目创建 meteor create
  • 熊猫到D3。将数据帧序列化为 JSON

    我有一个包含以下列且没有重复项的 DataFrame region type name value 可以看作是一个层次结构 如下所示 grouped df groupby region type name 我想将此层次结构序列化为 JSON