Pandas:将增量数字添加到按另一列的值分组并按索引排序的列的重复值的后缀

2024-05-19 12:35:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在由另一列定义的组中,将下划线和增量数字添加到按索引排序的任何重复值中

例如,我希望化学列中的重复值具有按索引排序的下划线和增量数字,并按循环列分组

df = pd.DataFrame([[1,1,1,1,1,1,2,2,2,2,2,2], ['NaOH', 'H20', 'MWS', 'H20', 'MWS', 'NaOh', 'NaOH', 'H20', 'MWS', 'H20', 'MWS', 'NaOh']]).transpose()
df.columns = ['Cycle', 'Chemistry']
df

Original Table

因此,输出将类似于下面链接中的表格:

Desired output table


Tags: columnsdataframedf定义排序数字增量pd
1条回答
网友
1楼 · 发布于 2024-05-19 12:35:10

IIUC:

pandas.Series.str.catcumcount

df['Chemistry'] = df.Chemistry.str.cat(
    df.groupby(['Cycle', 'Chemistry']).cumcount().add(1).astype(str),
    sep='_'
)

df

   Cycle Chemistry
0      1    NaOH_1
1      1     H20_1
2      1     MWS_1
3      1     H20_2
4      1     MWS_2
5      1    NaOh_1
6      2    NaOH_1
7      2     H20_1
8      2     MWS_1
9      2     H20_2
10     2     MWS_2
11     2    NaOH_2

相关问题 更多 >