如何在基于列表分解数据框后每个列表中的元素排名

莫什塔巴

在熊猫中,当我们爆炸数据框时

df = pd.DataFrame({'A':[['e', 'g', 'p'],['c', 'x']]})

通过命令df.explode('A')我们得到

df1 = pd.DataFrame({'A':['e', 'g', 'p','c', 'x']}, index = [0,0,0,1,1])

到目前为止,一切都很好。但是如果每个列表中元素的排名有意义并且我们希望在爆炸后拥有这个排名怎么办?得到这样的东西:

df2 = pd.DataFrame({'A':['e', 'g', 'p','c', 'x'], 'Rank_in_Group':[1,2,3,1,2]}, index = [0,0,0,1,1])
阿努拉格·达巴斯

尝试:

通过groupby()cumcount()

df1['Rank_in_Group']=df1.groupby(df1.index).cumcount()+1

或者

通过map()apply()

df['Rank_in_Group']=df['A'].map(lambda x:range(1,len(x)+1))
df1=df.apply(pd.Series.explode)

的输出df1

    A   Rank_in_Group
0   e       1
0   g       2
0   p       3
1   c       1
1   x       2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

基于日期范围分解数据框

如何在熊猫数据框的列表列中的每个元素上添加双引号?

如何在R中将特定列表元素分解为数据框?

从熊猫数据框中基于另一列的列的每个列表中删除元素

如何在熊猫数据框中搜索元素列表

Python:如何在列表中对元素进行排名?

如何按每个列表元素中数据框的大小对列表重新排序?

熊猫数据框中的编码/分解列表

当列表元素是需要解析的文本页面时,如何将列表的每个元素存储在数据框中?

如何获得熊猫数据框中列表中每个元素的频率分布?

如何用熊猫计算数据框中每个列表中的元素?

如何为系列或列表中的每个元素搜索 Pandas 数据框?

如何将其值为列表的列的数据框转换为该列中每个列表的每个元素变为新行的数据框

如何分解由列表列表组成的数据框

如何在np.where()中的数据框中检查列表中的空元素?

如何基于符号转换数据框中的段落列表?

如何从数据框中获取基于特定模式的列列表

将列表中的每个元素与数据框 python 中的一列列表进行比较

Python:分解数据框(列中每个条目一行,而不是列中多个条目)

如何将列表中的值分配给熊猫数据框并控制每个列表元素在数据框中的分布/频率

如何在tkinter的列表框中获取每个项目?

如何在列表元素之间分配数据框的行

计算熊猫数据框中列中每个值的列表中每个元素的性能

Pandas:在列表的数据框列中索引每个列表的第一个元素

如何基于Haskell中的分数列表创建排名?

将向量的每个元素作为列放在列表中包含的每个数据框中

如何在元组列表中修改元组的每个元素

如何在python列表中包装每个元素?

Python如何在包含列表作为元素的数据框中删除不需要的逗号