Python 分组方式和设置列值

Python 分组方式和设置列值,python,pandas,Python,Pandas,我有一个关于熊猫数据帧操作的问题。 假设我有一个数据帧 DF A Date C 0 1 1-jan 0 1 1 2-jan 1 2 1 3-jan 0 3 2 4-jan 0 4 2 5-jan 0 5 2 6-jan 1 6 3 7-jan 1 7 3 8-jan 0 8 3 9-jan 0 如果我们假设A列是account_ID,那么我想做的是,对于每个帐户

我有一个关于熊猫数据帧操作的问题。 假设我有一个数据帧

    DF
    A   Date    C
0   1   1-jan   0
1   1   2-jan   1
2   1   3-jan   0
3   2   4-jan   0
4   2   5-jan   0
5   2   6-jan   1
6   3   7-jan   1
7   3   8-jan   0
8   3   9-jan   0
如果我们假设A列是account_ID,那么我想做的是,对于每个帐户,如果我们在该日期之前(基于date列)已经在该列C中观察到1,则将该列C值设置为1。例如,对于帐号1,我将在1月2日之后使C列中的所有值等于1。对于账号3,所有C列值将在1月7日后为1


你最好让它更具可读性,并强调你正在尝试做的事情,弄清楚这两个dfs到底发生了什么是令人困惑的。很抱歉说得含糊不清,我已经尝试让描述更清楚
    Output
   A    Date    C
0   1   1-jan   0
1   1   2-jan   1
2   1   3-jan   1
3   2   4-jan   0
4   2   5-jan   0
5   2   6-jan   1
6   3   7-jan   1
7   3   8-jan   1
8   3   9-jan   1
df['C'] = df['C'].replace(0 , np.nan)
df['C'] = df.groupby('A')['C'].fillna(method = 'ffill').fillna(0)



Out[14]:
    A   Date    C
0   1   1-jan   0
1   1   2-jan   1
2   1   3-jan   1
3   2   4-jan   0
4   2   5-jan   0
5   2   6-jan   1
6   3   7-jan   1
7   3   8-jan   1
8   3   9-jan   1