Максимальное значение Series в одной ячейке Dataframe - PullRequest
1 голос
/ 20 марта 2019

У меня есть Dataframe, где каждая строка содержит ряд в столбце single .

             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

Ответы [ 3 ]

3 голосов
/ 20 марта 2019

Используя конструктор dataframe, заново создайте столбцы list type

df['Max']=pd.DataFrame(df['values'].tolist(),index=df.index).max(1)
0 голосов
/ 20 марта 2019

У меня есть простой способ для этого:

import pandas as pd
df = pd.DataFrame({'A':[34,36,77,51],'B':[55,76,31,41],'C':[11,69,40,26],'D':[8,6,55,30]})
df

enter image description here

df['MMax'] = df.max(axis=1)
df.MMax

enter image description here

0 голосов
/ 20 марта 2019

Небольшая ошибка в вашем коде. То же самое может быть достигнуто следующим:

df['max']= df['values'].apply(lambda x: max(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...