我有兩列,一列帶有 ID,另一列帶有交易日期。
| ID | 日期 |
|---|---|
| 一種 | 2019-04-30 |
| 一種 | 2020-12-15 |
| 乙 | 2019-08-24 |
| 乙 | 2019-09-29 |
| 乙 | 2019-10-14 |
等等...
我想創建一個按 ID 排序日期的列。
| ID | 日期 | 型別 |
|---|---|---|
| 一種 | 2019-04-30 | 訂單_1 |
| 一種 | 2020-12-15 | 訂單_2 |
| 乙 | 2019-08-24 | 訂單_1 |
| 乙 | 2019-09-29 | 訂單_2 |
| 乙 | 2019-10-14 | 訂單_3 |
謝謝!
uj5u.com熱心網友回復:
使用GroupBy.cumcount與累加計數器1采用鑄造為字串,因此可能加Order_:
df['Type'] = 'Order_' df.groupby('ID').cumcount().add(1).astype(str)
df['diff'] = df.groupby('ID')['Date'].diff().dt.days
我遇到了一個問題,當我旋轉表格時,我們按字母順序排列日期(Order_1、Order_10、Order_100、..)而不是 Order_1、Order_2。因為它是一個字串。有沒有解決的辦法?
將值轉換為數字并在旋轉后使用DataFrame.add_prefix:
df['Type'] = df.groupby('ID').cumcount().add(1)
df1 = df.pivot('ID','Type','diff').add_prefix('Order_')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/337186.html
上一篇:如何按年份對日期陣列進行分組并減去最后一個值-第一個值?
下一篇:使用道具Vue3觀看
