pandas 分组取中位数
时间: 2023-07-17 10:01:16 浏览: 47
要在 pandas 中进行分组并取中位数,可以使用 `groupby()` 和 `median()` 方法。以下是一个示例:
```python
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6, 7]}
df = pd.DataFrame(data)
# 按照 'Group' 列进行分组并计算中位数
median_values = df.groupby('Group')['Value'].median()
print(median_values)
```
输出结果为:
```
Group
A 1.5
B 4.0
C 6.5
Name: Value, dtype: float64
```
这里首先创建了一个示例的 DataFrame,其中包含一个 'Group' 列和一个 'Value' 列。然后,使用 `groupby('Group')` 将数据按照 'Group' 列进行分组。最后,使用 `median()` 方法计算每个分组的中位数。
相关问题
设计可复制的Python程序代码实现:现有一第二列为瞬时车速csv数据表格,先按照每20行为一组,计算其每组的jerk值,并取jerk的中位数,按照中位数为中心,将这些组再次分为两组,分别输出这两组的未分组时的原数据,输出为csv格式。
好的,根据您的要求,我为您编写了以下Python程序代码:
```python
import pandas as pd
import numpy as np
# 读取csv文件
df = pd.read_csv('data.csv')
# 每20行为一组,计算jerk的中位数
median_jerk = df['瞬时车速'].rolling(window=20).apply(lambda x: x.diff().diff().median(), raw=True).dropna()
# 将中位数作为分组依据,将数据分为两组
group_id = np.digitize(df['瞬时车速'], median_jerk)
# 分别输出两组数据到csv文件
group1 = df[group_id == 1]
group1.to_csv('group1.csv', index=False)
group2 = df[group_id == 2]
group2.to_csv('group2.csv', index=False)
```
请注意,这是一个可复制的Python程序代码,您可以将其复制到您的项目中并运行。同时,根据您的数据文件名和路径,您需要将代码中的`data.csv`、`group1.csv`和`group2.csv`分别替换为您的实际文件名和路径。
设计可复制的Python程序代码实现:现有一第二列为瞬时车速csv数据表格,每行之间的时间间隔为1s,按照每20行为一组,计算其每组的jerk值,并取jerk的中位数,按照中位数为中心,将这些组再次分为两组,分别输出这两组的未分组时的数据,输出为csv格式。
好的,根据您的要求,我为您编写了以下Python程序代码:
```python
import pandas as pd
import numpy as np
# 读取csv文件
df = pd.read_csv('data.csv')
# 计算每组的jerk值
df['jerk'] = df['瞬时车速'].diff().diff()
# 每20行为一组,计算中位数
median_jerk = df['jerk'].groupby(np.arange(len(df))//20).median()
# 将中位数作为分组依据,将数据分为两组
group_id = np.digitize(df['jerk'], median_jerk)
# 分别输出两组数据到csv文件
group1 = df[group_id == 1][['瞬时车速']]
group1.to_csv('group1.csv', index=False)
group2 = df[group_id == 2][['瞬时车速']]
group2.to_csv('group2.csv', index=False)
```
请注意,这是一个可复制的Python程序代码,您可以将其复制到您的项目中并运行。同时,根据您的数据文件名和路径,您需要将代码中的`data.csv`、`group1.csv`和`group2.csv`分别替换为您的实际文件名和路径。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)