2
我有代表在一場比賽中從玩家分數據幀,時間爲指標:獲得第一次occurence與日期時間索引的數據幀大熊貓
player_id
2016-03-01 873970260
2016-03-02 8470693237
2016-03-02 221785899
2016-03-03 569452661
2016-03-04 221785899
2016-03-04 8276343674
我想補充含有一個布爾新列其中規定,如果player_id
出現在時間序列的第一次:
player_id new_player
day
2016-03-01 873970260 True
2016-03-02 8470693237 True
2016-03-02 221785899 True
2016-03-03 569452661 True
2016-03-04 221785899 False
2016-03-04 8276343674 True
True
表示「從未見過」,False
手段「已經拿下了過去」。
什麼是最快的方法?在切片上使用isin
(即比較dataframe[day]
到dataframe[:day-1]
)?
這裏是我建的樣本數據框:
import pandas as pd
import datetime as dt
gamedf = pd.DataFrame([873970260,8470693237,221785899,569452661,221785899,8276343674],
columns=['player_id'],
index=[dt.datetime(2016, 3, 1), dt.datetime(2016, 3, 2), dt.datetime(2016, 3, 2), dt.datetime(2016, 3, 3), dt.datetime(2016, 3, 4), dt.datetime(2016, 3, 4)])
在第二個datafram中有額外的行即 – ayhan
我不好,只是修好了。 – chilladx