Панды: Что не так с этим использованием «Применить» для поиска максимума других столбцов [дублировать]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Панды: Что не так с этим использованием «Применить» для поиска максимума других столбцов [дублировать]

Сообщение Anonymous »

У меня есть DataFrame с несколькими столбцами даты, я хочу создать новый столбец «MaxDate», который содержит максимальную дату. Я пытался использовать Apply , но мои различные шаблоны кода для функции Lambda

Код: Выделить всё

import pandas as pd
import datetime as dt
df=pd.DataFrame(
[ [
dt.date(2025,6,6), dt.date(2025,6,6) ],[
dt.date(2025,6,6), dt.date(2025,6,6) ]
],
columns=['A','B'], index=['Row1','Row2']
)

# Explicitly find maximum of row 0 (WORKS)
max( df.loc[ df.index[0], ['A','B'] ] )

# None of the following 3 code patterns work for "apply"

if False:

df['MaxDate'] = df.apply( lambda row: max(
row.loc[ row.index[0], ['A','B'] ]
)  )

# IndexingError: "Too many indexers"

elif False:

df['MaxDate'] = df.apply( lambda row: max(
row['A','B']
)  )

# KeyError:
# "key of type tuple not found and not a MultiIndex"

elif False:

df['MaxDate'] = df.apply( lambda row: max(
row['A'],row['B']
)  )

# KeyError: 'A'
Я попытался определить, была ли ряд переменная данных или серией, но результатом был Nan

Код: Выделить всё

# Querying class of "row" yields a column of "nan"
df['MaxDate'] = df.apply( lambda row: type(row) )
из 3 -х кодовых шаблонов выше, я хотел бы избежать последнего этого, потому что это требует слишком большого количества повторений слова Word Row , делая мой код «шумным».
Что я делаю не так? Для меня, однако, это больше, чем просто вопрос о том, как достичь конечного эффекта. Это также выявляет мое понимание метода Apply . Что не так с моим использованием его механики? И почему тип (row) не показывает класс объекта Row ? Без видимости в своем типе трудно разумно придумать кодовые шаблоны, которые могут работать. Я переиздал вопрос, чтобы отразить это. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ther-colum
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»