Skip to main content
 首页 » 编程设计

python之在python中迭代追加先前的值

2025年05月04日21duanxz

我有以下数据框:

       Date    A   B   
 ===================== 
 2015-01-01    A   0 
 2015-01-02    A   1 
 2015-01-03    A   0 
 2015-01-01    B   0 
 2015-01-02    B   0 
 2015-01-03    B   0 
 2015-01-04    B   1 
 2015-01-05    B   1 

要求:

       Date    A   B       C 
 =========================== 
 2015-01-01    A   0       0 
 2015-01-02    A   1      01 
 2015-01-03    A   0     010 
 2015-01-01    B   0       0 
 2015-01-02    B   0      00 
 2015-01-03    B   0     000 
 2015-01-04    B   1    0001 
 2015-01-05    B   1   00011 

Column C派生于 2015-01-03通过采取以前的 value的 B .

这是迄今为止我得到的最好的,但它附加了一个组中的所有值。以前的转移尝试对我来说并不成功。

df2 = df.groupby('Date', 'A')['B'].apply(''.join).reset_index() 
df = df.merge(df2, on=['Date', 'A'], how='left') 

请您参考如下方法:

尝试

df1['C'] = df1.groupby('A').B.apply(lambda x: x.astype(str).cumsum()) 
 
 
    Date        A   B   C 
0   2015-01-01  A   0   0 
1   2015-01-02  A   1   01 
2   2015-01-03  A   0   010 
3   2015-01-01  B   0   0 
4   2015-01-02  B   0   00 
5   2015-01-03  B   0   000 
6   2015-01-04  B   1   0001 
7   2015-01-05  B   1   00011