下面是一个示例代码,展示了如何使用Pandas将多列数据按照层次结构排序并进行分组操作:
import pandas as pd
data = {
'Country': ['USA', 'USA', 'USA', 'Canada', 'Canada', 'Canada'],
'City': ['New York', 'Chicago', 'Los Angeles', 'Toronto', 'Montreal', 'Vancouver'],
'Population': [8.4, 2.7, 4.0, 2.9, 1.7, 2.5],
'Area (km2)': [468.9, 606.1, 1213.9, 630.2, 430.8, 287.6]
}
df = pd.DataFrame(data)
# 定义排序的层次结构
sorting_order = ['Country', 'City']
# 按照层次结构排序数据
df_sorted = df.sort_values(by=sorting_order)
# 将数据分组并进行聚合操作
grouped_data = df_sorted.groupby(sorting_order).agg({'Population': 'sum', 'Area (km2)': 'sum'})
print(grouped_data)
输出结果将为:
Population Area (km2)
Country City
Canada Montreal 1.7 430.8
Toronto 2.9 630.2
Vancouver 2.5 287.6
USA Chicago 2.7 606.1
Los Angeles 4.0 1213.9
New York 8.4 468.9
这样,我们就可以将数据按照多列层次结构进行排序,并进行分组统计操作。
下一篇:按层次顺序对模型抽象类进行建模