我有一个数据框,其中每一行在单个列中包含一个Series。
col1
row1 [34,55,11,8]
row2 [36,76,69,6]
row3 [77,31,40,55]
row4 [51,41,26,30]
我想获得系列中每个值的最大值,并在新列中产生该值。
col1 max
row1 [34,55,11,8] 55
row2 [36,76,69,6] 76
row3 [77,31,40,55] 77
row4 [51,41,26,30] 51
我的尝试:
df['max'] = df['values'].apply(lambda x:x.max())
df.head()
错误
ValueError: zero-size array to reduction operation maximum which has no identity
答案 0 :(得分:3)
使用数据框构造函数重新创建您的list
类型的列
df['Max']=pd.DataFrame(df['values'].tolist(),index=df.index).max(1)
答案 1 :(得分:0)
您的代码中的一个小错误。通过以下操作可以达到相同的目的:
df['max']= df['values'].apply(lambda x: max(x))
答案 2 :(得分:0)