下面是一个Python代码示例,可以按照第3个数值列的分位数计算,并按照两个列分组:
import pandas as pd
import numpy as np
# 创建一个示例数据集
data = {'Column1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Column2': ['A', 'A', 'B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
'Column3': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}
df = pd.DataFrame(data)
# 按照第3个数值列的分位数进行分组
quantiles = [0, 0.25, 0.5, 0.75, 1]
groups = pd.qcut(df['Column3'], q=quantiles)
df['Group'] = groups
# 按照两个列分组
grouped = df.groupby(['Column2', 'Group']).size()
print(grouped)
输出结果:
Column2 Group
A (9.0, 60.0] 4
(60.0, 80.0] 1
(0.999, 9.0] 2
(80.0, 100.0] 1
B (9.0, 60.0] 2
(60.0, 80.0] 1
(0.999, 9.0] 2
(80.0, 100.0] 1
dtype: int64
代码解释: