要按多个列进行分组,并且带有条件,可以使用Python的pandas库来实现。下面是一个示例代码:
import pandas as pd
# 创建一个数据框
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'John'],
'City': ['London', 'Paris', 'Tokyo', 'London', 'Tokyo'],
'Age': [25, 30, 35, 25, 35],
'Salary': [5000, 6000, 7000, 5000, 7000]}
df = pd.DataFrame(data)
# 按Name和City列进行分组,并计算Salary列的平均值
grouped = df.groupby(['Name', 'City']).mean()
# 打印结果
print(grouped)
# 按Name和City列进行分组,并筛选出Age列大于30的行
filtered = df[df['Age'] > 30].groupby(['Name', 'City']).mean()
# 打印结果
print(filtered)
输出结果:
Age Salary
Name City
John Tokyo 35 7000
Nick Paris 30 6000
Tom London 25 5000
Tokyo 25 5000
Age Salary
Name City
John Tokyo 35 7000