python groupby计算中位数
时间: 2023-06-28 17:10:56 浏览: 200
在Python中,可以结合使用groupby和median函数来计算分组数据的中位数。以下是一个示例代码:
```python
from itertools import groupby
from statistics import median
data = [(1, 2), (1, 4), (2, 3), (2, 5), (2, 8)]
# 对数据按第一个元素进行分组
groups = groupby(data, key=lambda x: x[0])
# 计算每个组的中位数
medians = [(k, median([x[1] for x in v])) for k, v in groups]
print(medians) # 输出 [(1, 3.0), (2, 5.0)]
```
在上面的代码中,我们首先使用groupby函数将数据按第一个元素进行分组,然后对每个组的第二个元素进行中位数计算,最后得到一个包含每个组中位数的列表。
相关问题
python groupby describe
可以使用groupby和describe函数来对数据进行分组和描述统计。以下是一个Python的示例代码:
```python
df.groupby(['属性']).describe()
```
其中,'属性'是你要进行分组的列名。这段代码将对该列进行分组,并计算每个组的描述统计信息,包括计数、均值、标准差、最小值、25%分位数、中位数、75%分位数和最大值。
请注意,这只是一种可能的方法,具体使用方式还取决于你的数据和分析需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [python中groupby函数详解(非常容易懂)](https://blog.csdn.net/weixin_53002252/article/details/116189523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
groupby 绘图 python
要在Python中使用groupby绘制图形,您可以使用matplotlib库。首先,您可以根据`genres`列对DataFrame进行分组,并计算每个组的中位数值。然后,您可以使用散点图来可视化每个组的数据点。
以下是一个示例代码,展示了如何使用groupby和matplotlib来绘制图形:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设您已经有一个名为df的DataFrame,其中包含genres和Movie_val列
# 使用groupby对每个类型进行分组,并计算每个组的中位数
grouped_data = df.groupby('genres')['Movie_val'].median()
# 创建散点图
plt.scatter(range(len(grouped_data)), grouped_data)
# 设置X轴标签和刻度
plt.xticks(range(len(grouped_data)), grouped_data.index, rotation=45)
# 添加标题和标签
plt.title('Median Movie_val by genres')
plt.xlabel('Genres')
plt.ylabel('Median Movie_val')
# 显示图形
plt.show()
```
阅读全文