我有一個帶有日期列的 Pandas 資料框。我只想擁有每個月最舊的記錄并洗掉之前的所有記錄。會有重復的,我想保留它們。我還需要一個只有月份和年份的新專欄。
輸入
| 提供者 | 日期 |
|---|---|
| 蘋果 | 2022 年 1 月 1 日 |
| 蘋果 | 2022 年 5 月 1 日 |
| 蘋果 | 20/01/2022 |
| 蘋果 | 20/01/2022 |
| 蘋果 | 2022 年 5 月 2 日 |
| 蘋果 | 2022 年 10 月 2 日 |
輸出:
| 提供者 | 日期 | 月年 |
|---|---|---|
| 蘋果 | 20/01/2022 | 01/2022 |
| 蘋果 | 20/01/2022 | 01/2022 |
| 蘋果 | 2022 年 10 月 2 日 | 02/2022 |
uj5u.com熱心網友回復:
創建列month_year,Series.dt.strftime然后按原始date列比較每個組的最大日期時間GroupBy.transform并過濾boolean indexing:
df['date'] = pd.to_datetime(df['date'], dayfirst=True)
df = df.assign(month_year = df['date'].dt.strftime('%m/%Y'))
df = df[df.groupby(['Provider', 'month_year'])['date'].transform('max').eq(df['date'])]
print (df)
Provider date month_year
2 Apple 2022-01-20 01/2022
3 Apple 2022-01-20 01/2022
5 Apple 2022-02-10 02/2022
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424768.html
上一篇:'FutureWarning:Useof**kwargsisdeprecated,useofengine_kwargs'指的是哪些引數?
下一篇:比較兩個字串的相似度
