我有一個數據框與列:customerId,金額,日期這個數據框的日期範圍是:date:1/1/2016 9/9/2017我想找到頂部10,000個客戶將由他們在2016年花費的總金額決定;我要量列按降序排序,然後使用熊貓數據框頂級用戶數量在2016年內的數量
mask = (df['date'] >= '1/1/2016') & (df['date'] <'1/1/2017')
必須有這樣做一個聰明的方法解析僅通過2016年日期欄,我是新來的編碼,因此任何幫助將不勝感激謝謝!
我有一個數據框與列:customerId,金額,日期這個數據框的日期範圍是:date:1/1/2016 9/9/2017我想找到頂部10,000個客戶將由他們在2016年花費的總金額決定;我要量列按降序排序,然後使用熊貓數據框頂級用戶數量在2016年內的數量
mask = (df['date'] >= '1/1/2016') & (df['date'] <'1/1/2017')
必須有這樣做一個聰明的方法解析僅通過2016年日期欄,我是新來的編碼,因此任何幫助將不勝感激謝謝!
也許你可以嘗試通過列轉換爲datetime:
df['date'] = pd.to_datetime(df['date'])
#then filter by year
mask = df['date'].apply(lambda x: x.year == 2016)
@ A-雜誌-Z的回答更加簡潔,但在如果該列已不在日期時間類型中,則可以使用pd.to_datetime
進行轉換。
假設date列是pandas datetime,那麼您可以使用.dt accessor。否則首先將其轉換爲datetime
df.date = pd.to_datetime(df.date)
df[df.date.dt.year == 2016]
應該給你所需的行。如果你可以張貼樣本數據集,它會更容易進行測試