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.png2。再对所形成的列进行分组
tmp_df_g = tmp_df.groupby('data_flag').agg({'colname':lambda x: np.unique(x)}).reset_index(drop=True)
tmp_df_g
聚合后,可以做求和,取唯一等各种操作。
image.png