要解决这个问题,我们可以使用以下代码示例:
import pandas as pd
# 创建一个示例数据集
data = {'公司': ['A公司', 'B公司', 'C公司', 'D公司', 'E公司', 'F公司'],
'年份': [2015, 2016, 2017, 2018, 2019, 2020]}
df = pd.DataFrame(data)
# 根据公司分组,并计算每个公司的连续年份数量
df['连续年份'] = df.groupby((df['年份'] - df.index).cumsum())['公司'].transform('count')
# 保留具有连续四年以上的公司
df_filtered = df[df['连续年份'] >= 4]
# 打印结果
print(df_filtered)
运行上述代码将输出符合条件的公司:
公司 年份 连续年份
0 A公司 2015 4
1 B公司 2016 4
2 C公司 2017 4
3 D公司 2018 4
在这个示例中,我们首先创建了一个包含公司和年份的示例数据集。然后,我们使用groupby
函数将数据按照连续年份进行分组,并使用transform
函数计算每个公司的连续年份数量。最后,我们根据连续年份数量筛选出具有连续四年以上的公司,并将结果保存在df_filtered
中。