如何绘制函数的结果



在序列中有数据并尝试计算某些值,但在尝试绘制这些值时,这是不起作用的。

# import pandas as pd
import pandas as pd

# import numpy as np
import numpy as np

# simple array
data = np.array([0,0,1,1,1])

ser = pd.Series(data)
print('The mean is ' + str(ser.mean()))
# find the variance
print('The variance is ' + str(ser.var()))
ser.mean().plot.bar(rot=0) # Attempt to use barplot
ser.var().plot.bar(rot=0) # Attempt to use barplot

上面给出了以下错误:

The mean is 0.6
The variance is 0.30000000000000004
AttributeError: 'float' object has no attribute 'plot'

将这两个值也显示在一个绘图中会很酷。

您尝试使用的函数仅适用于pandas DataFrame/Series,但您不能使用它来绘制'float','int'值。

对于这种情况,将均值和方差值存储到数据帧/序列中,如下所示

d = [ser.mean(),ser.var()]
df = pd.Series(d) #pd.DataFrame(d) also works
ax = df.plot.bar(rot=1)
ax.set_xticklabels(['Mean','Variance'])

也可以使用其他软件包绘制条形图。

最新更新