|
发表于 2023-8-7 16:01:02
|
显示全部楼层
你可以使用pandas库来处理这个问题。下面是一个示例代码,可以计算每天每个人之前三天分数之和:
- import pandas as pd
- # 创建示例数据
- data = {
- 'Date': ['2023-08-01', '2023-08-02', '2023-08-03', '2023-08-04', '2023-08-05', '2023-08-06'],
- 'Person1': [5, 3, 2, 4, 1, 6],
- 'Person2': [7, 2, 4, 3, 6, 9],
- 'Person3': [1, 6, 3, 2, 5, 4],
- 'Person4': [4, 3, 5, 1, 2, 7],
- 'Person5': [2, 4, 6, 7, 1, 3],
- 'Person6': [6, 5, 1, 6, 4, 2]
- }
- df = pd.DataFrame(data)
- # 转换日期列为日期类型
- df['Date'] = pd.to_datetime(df['Date'])
- # 设置日期列为索引
- df.set_index('Date', inplace=True)
- # 计算每天每个人前三天分数之和
- for i in range(2, len(df)):
- for person in df.columns:
- df.loc[df.index[ i], person] = df[person][i-2:i+1].sum()
- print(df)
复制代码
运行上述代码,你将得到一个包含每天每个人之前三天分值之和的DataFrame。
请根据实际数据的格式进行相应的调整,确保日期列已正确转换为日期类型,并且将日期列设置为索引。然后使用嵌套循环遍历每天和每个人,在每个位置上取出前三天的分数并求和,将结果填充回DataFrame中。
如果问题已经解决,请设置最佳答案 |
|