我必须从年龄,体重和运动时间的数据集中提取一些含义。
我能够找到每个年龄段的平均体重,但是现在我不再处理该数据了,因为它不是列或数组。如果要绘制它或在函数中使用它,我可以将其转变为有用的东西。
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
是否可以在每个平均体重在y轴上并且年龄在x轴上的地方绘制图或图?
答案 0 :(得分:0)
您可以在计算出的数据帧上使用matplotlib
和reset_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()