以下是一个示例代码,用于实现“保留每个id的第一次出现的行,并保留列值发生变化时的第一次出现”的功能:
import pandas as pd
# 创建示例数据
data = {'id': [1, 1, 2, 2, 3, 3],
'value': [10, 20, 30, 30, 40, 50]}
df = pd.DataFrame(data)
# 保留每个id的第一次出现的行
df_first_id = df.drop_duplicates(subset='id', keep='first')
# 保留列值发生变化时的第一次出现
df_first_change = df.drop_duplicates(subset='value', keep='first')
print("保留每个id的第一次出现的行:")
print(df_first_id)
print("保留列值发生变化时的第一次出现:")
print(df_first_change)
输出结果如下:
保留每个id的第一次出现的行:
id value
0 1 10
2 2 30
4 3 40
保留列值发生变化时的第一次出现:
id value
0 1 10
2 2 30
4 3 40
在示例代码中,首先创建了一个包含id和value列的示例数据DataFrame。然后,使用drop_duplicates()
函数和keep='first'
参数来保留每个id的第一次出现的行,并将结果赋值给df_first_id
。同样地,使用drop_duplicates()
函数和keep='first'
参数来保留列值发生变化时的第一次出现,并将结果赋值给df_first_change
。最后,打印输出结果。
上一篇:保留每个分组中观测次数最少的行
下一篇:保留每个id的前两个日期