无法在pandas中绘制groupby对象

2024-04-25 01:28:22 发布

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

我已经将groupby方法应用到我的dataframedf中,以便在我的列X(percentage)中获得每个值的平均值

df1 = df.groupby('percentage')['ratio'].mean()

对于每个百分比值,我有一个比率值的平均值(因为我有很多数据点)。在

现在我想画出新的百分比(X)和新的比率值(Y),但不知怎么的我做不到。 df1[:,0]给我一条错误消息,好像它不是我第一列的write调用一样。在

我怎么能画出这两列呢?在

这是df1的输出:

^{pr2}$

Tags: 数据方法消息df错误meanwrite比率
3条回答

只需绘制df1。在

import random
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

p = [.1,.2,.3,.4,.5,.6,.7, .8,.9]
p = [random.choice(p) for _ in range(180)]
r = np.linspace(.001, .999, num=180)

df = pd.DataFrame({'pct':p, 'ratio':r})
df1 = df.groupby('pct')['ratio'].mean()
df1.plot()
plt.show()
plt.close()

df1pandas.Series。对于pandas,可以将maplotlib与^{}等内置函数一起使用。你可以:

import matplotlib.pyplot as plt
axes = df1.plot()
axes.set_ylabel(df1.name)
plt.show()

enter image description here

好吧,这真的很奇怪,但是df1是一个序列,而不是数据帧。左边的行是序列索引,而右边的行是值,所以print(df[0.017821])将打印{},您仍然可以访问这些值

percentage = list(df1.index)
ratio = df1.values

这就是为什么你收到错误消息,系列有一个单一的轴

相关问题 更多 >