dfn['t3'] = dfn.groupby(['t1'])['t1'].cumsum() 改为计算分组连续t3相等怎么改python代码
时间: 2024-09-16 21:04:48 浏览: 40
单片机与DSP中的Microchip推出采用SOT-23及DFN封装的小型MO...
如果你想要计算分组后的连续 `t3` 列,并且当 `t3` 相同时才累加,可以先创建一个新的列来记录每个分组中 `t3` 的递增计数,然后将这个计数值作为新的 `t3` 值。以下是相应的Python代码修改:
```python
import pandas as pd
# 假设dfn是你当前的数据框
dfn['prev_t3'] = dfn.groupby('t1')['t3'].shift(1) # 添加前一格的t3值
dfn['t3_count'] = (dfn['t3'] == dfn['prev_t3']).cumsum() # 统计连续相同的t3数量
dfn['t3'] = dfn['t3'] + dfn['t3_count'] * (dfn['t3_count'] != 0) # 将累计计数应用到新t3上,只有计数非零时累加
# 如果 t3 初始值为 NaN,在第一次分组时设置为0
dfn.loc[dfn.groupby('t1').ngroup(), 't3'] = 0
# 清除之前辅助列
dfn.drop(columns=['prev_t3', 't3_count'], inplace=True)
阅读全文