我有一個數據框,包含四分之一季度(例如2015-Q4),customer_ID和已預訂的數量,以及許多其他列與現在無關。我想創建一個列,每個客戶第一次進行預訂。我試過這個:找到第一次在數據框中發生的值
alldata.sort_values(by=['Total_Apps_Reseller_Bookings_USD', 'Year_Quarter'],
ascending=[1, 1],
inplace=True)
first_q = alldata[['Customer_ID', 'Year_Quarter']].groupby(by='Customer_ID').first()
但我不確定它的工作。
另外,我還想另一個欄目告訴我在第一次預訂後有多少個房間預訂完成。我失敗了使用替換和字典,所以我用了一個合併。我創建預訂的每個季度,並從上述第一季度的數字ID,然後減去兩個:
q_booking_num = pd.DataFrame({'Year_Quarter': x, 'First_Quarter_id': np.arange(28)})
alldata = pd.merge(alldata, q_booking_num, on='Year_Quarter', how='outer')
q_first_num = pd.DataFrame({'First_Quarter': x, 'First_Quarter_id': np.arange(28)})
alldata = pd.merge(alldata, q_first_num, on='First_Quarter', how='outer')
這似乎並沒有有過一次合作,我看到的第一個季度「,是經過一些預訂已經完成。