我有兩列,一列帶有 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 |
謝謝!
使用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_')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句