要按另一列的值对每列进行分组计算百分位数值,可以使用Pandas的groupby函数和quantile函数。
以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {
'Group': ['A', 'A', 'B', 'B', 'B'],
'Value1': [1, 2, 3, 4, 5],
'Value2': [6, 7, 8, 9, 10]
}
df = pd.DataFrame(data)
# 按Group列进行分组并计算百分位数值
percentiles = df.groupby('Group').quantile([0.25, 0.5, 0.75]).reset_index()
print(percentiles)
输出结果:
Group level_1 Value1 Value2
0 A 0.25 1.5 6.5
1 A 0.50 2.0 7.0
2 A 0.75 2.5 7.5
3 B 0.25 3.5 8.5
4 B 0.50 4.0 9.0
5 B 0.75 4.5 9.5
在示例中,我们创建了一个包含Group、Value1和Value2列的DataFrame。然后,我们使用groupby函数根据Group列进行分组,并使用quantile函数计算每个分组的百分位数值。最后,我们使用reset_index函数将结果重新设置为DataFrame格式,并打印输出结果。