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

Sun*_*Lun 7 python dataframe pandas

我有一个这样的数据框:

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
Run Code Online (Sandbox Code Playgroud)

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

例如:

fly_frame:
          day    plcae
0           5       A
1           4       B
2           2       C
3           4       D
Run Code Online (Sandbox Code Playgroud)

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

DYZ*_*DYZ 9

df.day.apply(max)
#0    5
#1    4
#2    2
#3    4
Run Code Online (Sandbox Code Playgroud)


jez*_*ael 5

使用applymax

#if strings

#import ast

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

#df['day'] = df['day'].apply(ast.literal_eval)
Run Code Online (Sandbox Code Playgroud)
print (type(df.loc[0, 'day']))
<class 'list'>

df['day'] = df['day'].apply(max)
Run Code Online (Sandbox Code Playgroud)

或列表理解:

df['day'] = [max(x) for x in df['day']]
Run Code Online (Sandbox Code Playgroud)
print (df)
   day plcae
0    5     A
1    4     B
2    2     C
3    4     D
Run Code Online (Sandbox Code Playgroud)