在Python中,可以使用pandas库来按照多个列进行分组和根据多个条件筛选行。以下是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'John'],
'Gender': ['Male', 'Male', 'Male', 'Female', 'Female'],
'Age': [25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
# 按照多个列进行分组
grouped = df.groupby(['Name', 'Gender'])
# 根据多个条件筛选行
filtered = df[(df['Name'] == 'Tom') & (df['Age'] > 30)]
# 打印结果
print("按照多个列进行分组:")
for name, group in grouped:
print(name)
print(group)
print()
print("根据多个条件筛选行:")
print(filtered)
运行上述代码,输出结果如下:
按照多个列进行分组:
('John', 'Female')
Name Gender Age
4 John Female 45
('John', 'Male')
Name Gender Age
2 John Male 35
('Nick', 'Male')
Name Gender Age
1 Nick Male 30
('Tom', 'Female')
Name Gender Age
3 Tom Female 40
('Tom', 'Male')
Name Gender Age
0 Tom Male 25
根据多个条件筛选行:
Name Gender Age
3 Tom Female 40
4 John Female 45
以上代码演示了如何按照"Name"和"Gender"两列进行分组,并根据"Name"为"Tom"且"Age"大于30的条件筛选行。
上一篇:按照多个列进行分组