我有下表:
| 一個 | 乙 | C |
|---|---|---|
| 0 | 0 | 0 |
| 2022-02-15 00:00:00 | 0 | 2022-03-46 00:00:00 |
| 2022-04-23 00:00:00 | 2021-01-10 00:00:00 | 0 |
我想得到一個結果列,它回傳每行最新日期的列名并忽略所有空行(這是更大資料集的一部分,所以我不能洗掉)。所以如下:
| 一個 | 乙 | C | 結果 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 2022-02-15 00:00:00 | 0 | 2022-03-46 00:00:00 | C |
| 2022-04-23 00:00:00 | 2021-01-10 00:00:00 | 0 | 一個 |
我將列轉換為日期時間并嘗試使用:
df['Result'] = df.idxmax(axis=1)
但這只會導致以下錯誤
TypeError: reduction operation 'argmax' not allowed for this dtype
uj5u.com熱心網友回復:
您需要具有日期時間型別。
如果您不想更改資料框,則可以即時進行:
df['Result'] = df.apply(pd_to_datetime).idxmax(axis=1).mask(df.eq(0).all(1), 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/489297.html
標籤:Python python-3.x 熊猫
