python对一列数据合并几个连续相同数据

2022-03-31  本文已影响0人  丙吉

原由,想对一列数据中,连续的相同的数据进行合并

1。 先对连续相同的数据进行标注
def data_flag(x):
    l = []
    j = 0
    for i in range(len(x)-1):
        l.append(j)
        if x[i]!=x[i+1]:
            j+=1
    l.append(j)
        
    return l
            
tmp_df = pd.DataFrame({'colname':['a','b','c','c','c','e','d','d','e']})
tmp_list = data_flag(tmp_df.colname)
tmp_df['data_flag'] =tmp_list
tmp_df
结果为:
image.png
2。再对所形成的列进行分组
tmp_df_g = tmp_df.groupby('data_flag').agg({'colname':lambda x: np.unique(x)}).reset_index(drop=True)
tmp_df_g

聚合后,可以做求和,取唯一等各种操作。


image.png
上一篇 下一篇

猜你喜欢

热点阅读