删除 DF 中的重复项并在 python 中转换为 JSON obj
我有一个类似于下面的 df
name series ============================= a a1 b b1 a a2 a a1 b b2
我需要将系列转换为一个列表,该列表应分配给每个名称,例如字典或 json obj,如下所示
{ "a": ["a1", "a2"], "b": ["b1", "b2"] }
到目前为止,我已经尝试使用 groupby,但它只是将所有内容分组为一个单独的字典
test = df.groupby("series")[["name"]].apply(lambda x: x)
上面的代码给出了一个类似 df 的输出
Series Name A 0 A1 2 A2 3 A1 B 1 B1 4 B2
非常感谢任何帮助
谢谢
正确答案
首先 drop_duplicates
确保有 ,然后 groupby.agg
作为列表:
out = df.drop_duplicates().groupby('name')['series'].agg(list).to_dict()
或者拨打unique
:
out = df.groupby('name')['series'].agg(lambda x: x.unique().tolist()).to_dict()
输出:{'a': ['a1', 'a2'], 'b': ['b1', 'b2']}
如果您还有其他列,请确保仅保留感兴趣的列:
out = (df[['name', 'series']].drop_duplicates() .groupby('name')['series'].agg(list).to_dict() )
对列表进行排序:
out = (df.groupby('name')['series'] .agg(lambda x: sorted(x.unique().tolist())).to_dict() )
示例:
# input Name Series 0 A Z1 1 B B1 2 A A2 3 A Z1 4 B B2 # output {'A': ['A2', 'Z1'], 'B': ['B1', 'B2']}
以上是删除 DF 中的重复项并在 python 中转换为 JSON obj的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

在Python中,如何通过字符串动态创建对象并调用其方法?这是一个常见的编程需求,尤其在需要根据配置或运行...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
