Python中文
首页
教程
问答
标签
搜索
登录
注册
在数据帧中取消设置记录列
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想知道是否有一种<code>pandas</code>方法(内置的,或者通常更好)将一列记录(其中记录是<code>List[dict]</code>)unest到<code>DataFrame</code>中</p> <p>样本数据:</p> <pre><code>import pandas as pd expected = pd.DataFrame({ 'A': [1, 1, 2], 'asset_id': ["aaa", "AAA", "bbb"], 'another_prop': [2, 3, 4] }) df = pd.DataFrame({ 'A':[1,2], 'B':[ [ {"asset_id": "aaa", "another_prop": 2}, {"asset_id": "AAA", "another_prop": 4} ], [ {"asset_id": "bbb", "another_prop": 3} ] ] }) </code></pre> <p>我的尝试:</p> <pre><code>def unnest_records(df: pd.DataFrame, col: str) -> pd.DataFrame: """ Unnests a column of records into a DataFrame.""" df_unnested = df.explode(col) # unnest records records = df_unnested.pop(col) # 1 row per record return pd.concat([df_unnested.reset_index(drop=True), pd.io.json.json_normalize(records)], axis=1) </code></pre> <p>输出:</p> <pre><code>>>> unnest_records(df, "B") A asset_id another_prop 0 1 aaa 2 1 1 AAA 4 2 2 bbb 3 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你也可以这样做</p> <pre><code>import itertools as it pd.DataFrame(it.chain(*df.B)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
3 回答
如何在乒乓球游戏中阻止球
2 回答
如何在乘法和模中不乘空间?
9 回答
如何在乘法和除以2个不同的数字之间进行交换?
1 回答
如何在也是数据一部分的单个字符上拆分大字符串
10 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
4 回答
如何在事件wxWidgets中传递自定义数据
1 回答
如何在事件中使用lambda i=i?
5 回答
如何在事件中心只接收最近的数据
8 回答
如何在事件发生之前保持云函数运行?
1 回答
如何在事件发生后使页面重定向到同一页面
5 回答
如何在事件回调之间保持python生成器的状态
3 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
8 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
2 回答
如何在事件处理程序中访问外部对象?
4 回答
如何在事件循环中将协程打包为正常函数?
8 回答
如何在事件循环之外运行协同程序?
9 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
6 回答
如何在事件文件中只保留一份摘要?
8 回答
如何在事件模板中添加事件
5 回答