下面是一个示例代码,演示了如何遍历数据框,并通过第一个出现的分类值进行过滤,并将后续的分类值添加到总计中。
import pandas as pd
# 创建示例数据框
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C', 'A', 'A'],
'Value': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 初始化总计
total = 0
# 遍历数据框
for index, row in df.iterrows():
category = row['Category']
value = row['Value']
# 判断是否为第一个出现的分类值
if index == 0 or category != df.at[index-1, 'Category']:
total += value
print(f"Category: {category}, Value: {value}, Total: {total}")
输出结果为:
Category: A, Value: 1, Total: 1
Category: A, Value: 2, Total: 1
Category: B, Value: 3, Total: 4
Category: B, Value: 4, Total: 4
Category: C, Value: 5, Total: 9
Category: C, Value: 6, Total: 9
Category: A, Value: 7, Total: 16
Category: A, Value: 8, Total: 16
在上述代码中,我们使用iterrows()
方法遍历数据框的每一行。对于每一行,我们提取Category
和Value
列的值,并检查是否为第一个出现的分类值。如果是第一个出现的分类值,我们将该值添加到总计中。如果不是第一个出现的分类值,则不会将其添加到总计中。