我有一个df

review                          review_id   word_count
['abc def', 'ghi']              [1, 2]      [2, 1]
['jkl mno pqr', 'stu', 'vwx']   [3, 4, 5]   [3, 1, 1]

对于df中的每一行,我想为review和review\u id创建新的列,其中只包含最大字数的review/review\u id.

review         review_id
abc def        1      
jkl mno pqr    3

我只能想得到word\u count中最大值的索引.欢迎任何建议.谢谢

推荐答案

使用DataFrame.explode比较每组的最大值(从行中),如果需要所有最大值,则按boolean indexing Select 行:

df = df.explode(['review','review_id','word_count'])
#for oldier pandas versions
#df = df.apply(lambda x: x.explode())

df = df[df['word_count'].eq(df.groupby(level=0)['word_count'].transform('max'))]
print (df)
        review review_id word_count
0      abc def         1          2
1  jkl mno pqr         3          3

Python相关问答推荐

对某些列的总数进行民意调查,但不单独列出每列

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

如何在polars(pythonapi)中解构嵌套 struct ?

如何获取TFIDF Transformer中的值?

如何从pandas的rame类继承并使用filepath实例化

如何从数据库上传数据到html?

Plotly Dash Creating Interactive Graph下拉列表

Tkinter菜单自发添加额外项目

在Python中计算连续天数

将链中的矩阵乘法应用于多组值

GPT python SDK引入了大量开销/错误超时

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

当HTTP 201响应包含 Big Data 的POST请求时,应该是什么?  

获取git修订版中每个文件的最后修改时间的最有效方法是什么?

如何在SQLAlchemy + Alembic中定义一个"Index()",在基表中的列上

如何写一个polars birame到DuckDB

用来自另一个数据框的列特定标量划分Polars数据框中的每一列,

Django.core.exceptions.SynchronousOnlyOperation您不能从异步上下文中调用它-请使用线程或SYNC_TO_ASYNC

递归链表反转与打印语句挂起

Pandas 删除只有一种类型的值的行,重复或不重复