一開始有計算過不重複使用者,但那是包含#欄位的資料,因此再來一次XD。
df1[mask_5]['ride_id']
1354 2D4EA0D9064662D6
353057 651C959936BA3227
226720 EB83072244DF5183
107043 8994CCC830A3DDF1
341354 B6DE81A51970FF21
395103 7DC888EB586ED128
14867 9E7EB9668B2D6745
25921 53354C6AD261671C
391277 F16BC64D8530B976
20695 E50EBEC94B14C4B9
Name: ride_id, Length: 419215, dtype: object
##
df1[mask_5]['ride_id'].nunique()
##
Out[9]: 419199
得到不重複使用者419199筆;重複使用者16筆。
Q: 這些不重複使用者,多是會員還是非會員?
df1[mask_5][df1[mask_5]['member_casual']=='member']['ride_id'].nunique() #不重複+是會員
Out[12]: 374672
df1[mask_5][df1[mask_5]['member_casual']=='casual']['ride_id'].nunique() #不重複+非會員
Out[13]: 44529
結果發現自己犯了低級錯誤XD 先篩了會員/非會員才計算不重複ID。
改用下面方式修正後,加總才是對的。參考了這篇文章,對於移除或留下duplicate資料有興趣的朋友可以看看~寫得很清楚^^。
test=df1[mask_5].drop_duplicates(subset='ride_id',inplace=False)
sum(test['member_casual']=='member')
sum(test['member_casual']=='casual')
##
Out[37]:
1354 False
353057 False
226720 False
107043 False
341354 False
395103 True
14867 True
25921 True
391277 True
20695 True
Name: member_casual, Length: 419199, dtype: bool
Out[38]: 374670
Out[39]: 44529
16筆重複使用者,雖然在大量資料中算是少數,但是還是來看看。
duplicate=df1[mask_5][df1[mask_5].duplicated(subset='ride_id')]
print(duplicate.loc[:,'ride_id':'member_casual'])
##
ride_id rideable_type ... end_lng member_casual
82829 9.21E+15 docked_bike ... -87.6145 member
358782 3.75E+15 docked_bike ... -87.6206 member
60279 1.01E+15 docked_bike ... -87.6363 member
109636 4.94E+15 docked_bike ... -87.6247 member
108620 2.40E+15 docked_bike ... -87.6309 member
251751 7.58E+15 docked_bike ... -87.626 member
166405 2.30E+15 docked_bike ... -87.6295 member
156431 2.39E+15 docked_bike ... -87.679 member
239464 2.90E+15 docked_bike ... -87.6343 member
136789 4.47E+15 docked_bike ... -87.6638 member
305971 4.67E+15 docked_bike ... -87.6411 member
317950 1.68E+15 docked_bike ... -87.648 member
218917 2.83E+15 docked_bike ... -87.6364 member
245752 4.56E+15 docked_bike ... -87.6455 member
344090 2.16E+15 docked_bike ... -87.6677 member
271268 4.49E+15 docked_bike ... -87.6417 member
[16 rows x 13 columns]
給忠實顧客們拍拍手XD
找出原本非會員但後來變成會員的ID (ride_id Count >1)
延伸討論:非會員轉會員在三個月內的使用頻率如何?
昨天的設想原本是以上內容(還有上面的重複使用者),但想到這份資料並無法追蹤非會員資料,所以也無從得知究竟有哪些人是在借用後選擇加入會員的。如果這份資料有一些使用者的聯絡方式等資料或許就可以追蹤了!
但以上的轉換率計算,我想是在商業場景中蠻重要的參考標準。
明天想來觀察一周中哪天是最常被租借的?熱門時段又是哪些?(早上/中午/晚上)
早上就把今天的份完成了~非常開心! 可以放心去烤肉
中秋節快樂!