发现一个变量对另一个变量的平均值,但如何使用结果?

2024-06-17 12:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须从年龄、体重和锻炼时间的数据集中提取一些含义

我能够找到每个年龄段的平均体重,但现在我不知道该如何处理这些数据,因为它不是一列或一个数组。如果我想绘制它或在函数中使用它,我可以把它转换成有用的东西

person_data_url = 'url'
df = pd.read_csv(persons_data_url, ...)

avg = df.groupby('age')['weight'].aggregate(np.mean)

看起来像这样

age
18    148.000000
19    125.086957
20    161.000000
21    171.500000
22    119.368421
23    139.285714
24    149.411765
25    167.789474
26    186.400000
27    161.500000

enter image description here

是否可以绘制一个图或图表,其中每个平均体重在y轴上,年龄在x轴上


Tags: 数据函数urldfagedata时间绘制
1条回答
网友
1楼 · 发布于 2024-06-17 12:23:01

您可以在计算的数据帧上使用matplotlibreset_index(),然后简单地绘制列与列之间的对比:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'age': np.random.randint(18,27,size=100),
    'weight': np.random.randint(120,240,size=100)
})

avg = df.groupby('age').agg('mean').reset_index()

plt.figure(1)
plt.plot(avg['age'], avg['weight'])
plt.xlabel('Age')
plt.ylabel('Weight')
plt.title('Weight vs Age')
plt.show()

相关问题 更多 >