扩大大熊猫活动区域的最有效方法是什么



我有一个熊猫数据帧df:

奥迪A5<1>
汽车 打开 时间
奥迪A50
奥迪A5
奥迪A513
奥迪A5
奥迪A505
奥迪A506
奥迪A507
奥迪A5
奥迪A5
梅赛德斯A级10
梅赛德斯A级11
梅赛德斯A级12
梅赛德斯A级03
梅赛德斯A级04
梅赛德斯A级15
梅赛德斯A级16
梅赛德斯A级07
梅赛德斯A级08
梅赛德斯A级19

IIUC,在屏蔽非1值后,您可以为每组bfill设置一个限制:

n=1
df['Open2'] = (df['Open']
.where(df['Open'].eq(1))
.groupby(df['Car']).bfill(limit=n)
.fillna(df['Open'], downcast='infer')
)

输出(为了清楚起见,作为新列"Open2"(:

Car  Time  Open  Open2
0            Audi A5     0     0      0
1            Audi A5     1     0      0
2            Audi A5     2     0      1
3            Audi A5     3     1      1
4            Audi A5     4     1      1
5            Audi A5     5     0      0
6            Audi A5     6     0      0
7            Audi A5     7     0      1
8            Audi A5     8     1      1
9            Audi A5     9     1      1
10  Mercedes Class A     0     1      1
11  Mercedes Class A     1     1      1
12  Mercedes Class A     2     1      1
13  Mercedes Class A     3     0      0
14  Mercedes Class A     4     0      1
15  Mercedes Class A     5     1      1
16  Mercedes Class A     6     1      1
17  Mercedes Class A     7     0      0
18  Mercedes Class A     8     0      1
19  Mercedes Class A     9     1      1

最新更新