求出每个变量的每个值的平均值,但是如何使用结果呢?

时间:2019-05-30 14:36:24

标签: python pandas

我必须从年龄,体重和运动时间的数据集中提取一些含义。

我能够找到每个年龄段的平均体重,但是现在我不再处理该数据了,因为它不是列或数组。如果要绘制它或在函数中使用它,我可以将其转变为有用的东西。

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轴上的地方绘制图或图?

1 个答案:

答案 0 :(得分:0)

您可以在计算出的数据帧上使用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()