Python中文
首页
教程
问答
标签
搜索
登录
注册
如何通过对列进行分区来高效地生成此字典?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个数据帧<code>df</code>,如下所示</p> <pre><code> parent_id name 0 t3_35jfjt t1_cr4y72v 1 t3_35jfjt t1_cr4y7m7 2 t3_35jfjt t1_cr4y7p3 3 t1_cr4y72v t1_cr4y92z 4 t3_35jfjt t1_cr4y986 ... ... ... </code></pre> <p>其中<code>name</code>列中的所有元素都是唯一的。我想基于列<code>parent_id</code>对列<code>name</code>进行分区。这意味着<code>name</code>列中的两个元素如果具有相同的<code>parent_id</code>,则属于同一类</p> <p>然后我想创建一个字典,其键是<code>name</code>列中的元素,其值是这些元素所属类的元素数。比如说,</p> <pre><code>{'t1_cr4y72v': 3, 't1_cr4y72v': 4,...} </code></pre> <p>在本例中,<code>t1_cr4y72v</code>属于基数为3的类</p> <p>我可以使用一个循环来制作这本词典,但它效率不高,因为我有300多万行。你能详细说明一个有效的方法吗</p> <pre><code>import pandas as pd df = pd.read_csv('https://raw.githubusercontent.com/leanhdung1994/WebMining/main/df.csv', header = 0) df </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>另一个解决方案:</p> <pre class="lang-py prettyprint-override"><code>df.merge( df.groupby("parent_id")["name"].nunique().rename("cardinality"), on="parent_id" ).set_index("name")["cardinality"].to_dict() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何用强化学习更新函数逼近中的权重?
10 回答
如何用归并排序计算倒数?
3 回答
如何用当前数据拟合正弦波?
8 回答
如何用当前页面的值填充表单?
3 回答
如何用彩色地图在2dpython直方图中勾勒出箱子的轮廓?
1 回答
如何用彩色地图给等高线标签上色?
5 回答
如何用彩色打印到控制台?
9 回答
如何用彩色条绘制2d直方图,在Python中显示第三个变量的平均值?
2 回答
如何用彩色条绘制直方图,其中的颜色应与xaxis中的值一致?
4 回答
如何用彩色贴图填充曲线和原始边之间的区域?
7 回答
如何用循环分割数组并对其应用操作?
2 回答
如何用循环创建多个子集的数据帧
7 回答
如何用循环和递归实现求和
1 回答
如何用循环填充数组?
5 回答
如何用循环当前引用的位置更新变量?
9 回答
如何用循环求这个级数的和
2 回答
如何用循环解这个方程?
6 回答
如何用循环语句逐个读取数据帧中的数据?
10 回答
如何用循环除法?(Python)
6 回答
如何用感知一致性对HSV空间进行采样
3 回答