以下是一个示例代码,可以按照每个类别的日期值累积行:
import pandas as pd
# 创建一个示例数据集
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
'Date': ['2020-01-01', '2020-01-02', '2020-01-01', '2020-01-03', '2020-01-02', '2020-01-04']}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按照类别和日期排序
df = df.sort_values(['Category', 'Date'])
# 计算每个类别的累积行数
df['Cumulative Rows'] = df.groupby('Category').cumcount() + 1
print(df)
输出结果:
Category Date Cumulative Rows
0 A 2020-01-01 1
1 A 2020-01-02 2
2 B 2020-01-01 1
3 B 2020-01-03 2
4 C 2020-01-02 1
5 C 2020-01-04 2
这段代码首先将日期列转换为日期类型,然后按照类别和日期排序数据框。接下来,使用groupby
和cumcount
函数计算每个类别的累积行数,并将结果存储在一个新的列"Cumulative Rows"中。最后,打印出结果数据框。
上一篇:按照每个类别的权重分配总量