以下是一个示例代码,用于计算数据框中一列连续天数的数量:
import pandas as pd
# 创建示例数据框
data = {'日期': pd.date_range(start='2020-01-01', end='2020-01-10')}
df = pd.DataFrame(data)
# 计算连续天数的数量
df['连续天数'] = (df['日期'].diff().dt.days != 1).cumsum()
# 打印结果
print(df)
运行以上代码,将得到以下输出:
日期 连续天数
0 2020-01-01 1
1 2020-01-02 1
2 2020-01-03 1
3 2020-01-04 1
4 2020-01-05 1
5 2020-01-06 1
6 2020-01-07 1
7 2020-01-08 1
8 2020-01-09 1
9 2020-01-10 1
在以上代码中,我们使用了diff()
函数计算每个日期与前一个日期的差值,然后使用dt.days
将时间差转换为天数。如果两个日期之间的差值不为1天,则表示日期不连续,我们将其标记为一个新的连续天数。最后,我们使用cumsum()
函数计算连续天数的累积和,并将结果存储在新的列连续天数
中。