如何从两个 ID 创建一个新 ID?
How can I create a new ID from two IDs?
如果我有下面示例中的第 1 列和第 2 列,我该如何创建第 3 列?
每当第 2 列增加 1 时,第 3 列就必须增加 1,但仅限于第 1 列中的每个组。
换句话说,第 3 列的计数方式应与第 2 列相同,但每次第 1 列加 1 时重新开始。
你可以试试:
df["col3"] = df.groupby("col1")['col2'].apply(lambda x: x - x.iloc[0] + 1).reset_index(drop=True)
说明:
使用groupby
按照列ColA
进行分组
对于每个组,从 col2
中减去第一个值到列 col2
并添加 1
使用reset_index
和drop=False
重置索引以删除二级索引。
如果我有下面示例中的第 1 列和第 2 列,我该如何创建第 3 列?
每当第 2 列增加 1 时,第 3 列就必须增加 1,但仅限于第 1 列中的每个组。
换句话说,第 3 列的计数方式应与第 2 列相同,但每次第 1 列加 1 时重新开始。
你可以试试:
df["col3"] = df.groupby("col1")['col2'].apply(lambda x: x - x.iloc[0] + 1).reset_index(drop=True)
说明:
使用
groupby
按照列ColA
进行分组
对于每个组,从
col2
中减去第一个值到列col2
并添加1
使用
reset_index
和drop=False
重置索引以删除二级索引。