我有以下按日期排序的数据框
df = pd.DataFrame({"Date":['2023-02-11','2023-02-10','2023-02-09','2023-02-08','2023-02-07','2023-02-06','2023-02-05'],
"A":['a','a','c','a','c','b','b'],
"B":[1,2,3,4,5,6,7]})
个字符
我想创建一个新的列FirstTime
,如果这是符号第一次出现在A
中,则等于1,否则等于0。所以想要的结果看起来像是
Date A B FirstTIme
2023-02-11 a 1 0
2023-02-10 a 2 0
2023-02-09 c 3 0
2023-02-08 a 4 1
2023-02-07 c 5 1
2023-02-06 b 6 0
2023-02-05 b 7 1
型
我知道idxmax和searchsorted方法,但不确定它是否有帮助。
3条答案
按热度按时间p4rjhz4m1#
由于您的数据按
Date
递减排序,您可以只使用duplicated
。如果数据未排序,则按此排序。字符串
输出量:
型
wnrlj8wa2#
对日期排序的数据使用
duplicated
:字符串
如果数据已按递减日期排序:
型
输出量:
型
u3r8eeie3#
如何使用
drop_duplicates with keep = last
如下?字符串