以下是一个Python代码示例,用于解决“不将两个不同周的销售总和在一行中相加”的问题:
import pandas as pd
# 创建一个包含销售数据的DataFrame
data = {
'Week': [1, 1, 2, 2, 3, 3],
'Sales': [100, 200, 150, 250, 300, 400]
}
df = pd.DataFrame(data)
# 创建一个新的DataFrame,将不同周的销售总和在一行中相加
new_df = pd.DataFrame(columns=['Week', 'Sales'])
# 遍历原始DataFrame的每一行
for index, row in df.iterrows():
# 检查当前行是否与上一行具有相同的周数
if index > 0 and row['Week'] == df.loc[index-1, 'Week']:
# 将销售额添加到当前周的总和中
new_df.loc[new_df['Week'] == row['Week'], 'Sales'] += row['Sales']
else:
# 将当前行添加到新的DataFrame中
new_df = new_df.append(row, ignore_index=True)
print(new_df)
这段代码首先创建了一个包含销售数据的DataFrame,并定义了一个新的空DataFrame。然后,它遍历原始DataFrame的每一行。如果当前行的周数与上一行的周数相同,则将销售额添加到当前周的总和中。否则,它将当前行添加到新的DataFrame中。最后,它打印出新的DataFrame,其中不同周的销售总和在一行中相加。