python使用pandas中的groupby函数和agg函数计算每个分组数据的两个分位数(例如、百分之10分位数和百分之90分位数)
时间: 2024-04-10 10:34:11 浏览: 274
你可以使用`groupby`和`agg`函数来计算每个分组数据的两个分位数。首先,使用`groupby`函数按照你想要分组的列进行分组。然后,使用`agg`函数来应用聚合函数,其中包括计算分位数的函数。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 使用groupby和agg计算分位数
result = df.groupby('Group').agg({'Value': ['quantile']})
# 计算百分之10和百分之90的分位数
result = result.unstack().reset_index()
result.columns = ['Group', 'Percentile', 'Value']
result = result[(result['Percentile'] == 0.1) | (result['Percentile'] == 0.9)]
print(result)
```
这将输出每个分组的百分之10和百分之90的分位数。
```
Group Percentile Value
1 A 0.1 1.1
4 A 0.9 1.9
2 B 0.1 3.2
5 B 0.9 4.8
```
请根据你的实际数据进行适当的修改。希望对你有帮助!
阅读全文