Pandas:在包含列表的一列中查找最大值

2024-10-03 06:21:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

fly_frame:
          day    plcae
0  [1,2,3,4,5]       A
1    [1,2,3,4]       B
2        [1,2]       C
3     [1,2,3,4]      D

如果我想找到day列中每个条目的最大值。在

例如:

^{pr2}$

我该怎么办?
谢谢你的帮助。在


Tags: 数据目的frameflydaypr2plcae
3条回答

尝试将pd.concat()和{a2}与以下内容结合使用:

import numpy as np
import pandas as pd


fly_frame = pd.DataFrame({'day':[[1,2,3,4,5],[1,2,3,4],[1,2],[1,2,3,4]],'place':['A','B','C','D']})

df = pd.concat([fly_frame['day'].apply(max),fly_frame.drop('day',axis=1)],axis=1)

print(df)



   day place
0    5     A
1    4     B
2    2     C
3    4     D

编辑 您还可以将df.join()与以下内容一起使用:

^{pr2}$
df.day.apply(max)
#0    5
#1    4
#2    2
#3    4

^{}max一起使用:

#if strings

#import ast

#print (type(df.loc[0, 'day']))
#<class 'str'>

#df['day'] = df['day'].apply(ast.literal_eval)

^{pr2}$

或列表理解:

df['day'] = [max(x) for x in df['day']]

print (df)
   day plcae
0    5     A
1    4     B
2    2     C
3    4     D

相关问题 更多 >