从csv数据制作直方图

时间:2021-12-07 14:54:59

I'm trying to make a histogram with data from a .CSV file. I put together the code below and I'm getting an ''int' object is not iterable' error when I run it, any ideas?

我正在尝试使用.CSV文件中的数据制作直方图。我把下面的代码放在一起,当我运行它时,我得到一个''int'对象是不可迭代的'错误,任何想法?

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

file = "...sp histo.csv"
data = pd.read_csv(file)

year_2016 = np.array(data['2016'])
year_2017 = list(np.array(data['2017']))

small_ret = min(min(year_2016),min(year_2017))
large_ret = max(max(year_2016),max(year_2017))
bins = np.arange(small_ret, large_ret, 0.1)

plt.hist(year_2017,bins=bins, range = 20)
plt.show()

1 个解决方案

#1


1  

There is a problem in this line:

这一行有一个问题:

plt.hist(year_2017,bins=bins, range = 20)

According to the docstring for hist, range must be a tuple:

根据hist的docstring,range必须是一个元组:

range : tuple or None, optional
    The lower and upper range of the bins. Lower and upper outliers
    are ignored. If not provided, `range` is (x.min(), x.max()). Range
    has no effect if `bins` is a sequence.

    If `bins` is a sequence or `range` is specified, autoscaling
    is based on the specified bin range instead of the
    range of x.

#1


1  

There is a problem in this line:

这一行有一个问题:

plt.hist(year_2017,bins=bins, range = 20)

According to the docstring for hist, range must be a tuple:

根据hist的docstring,range必须是一个元组:

range : tuple or None, optional
    The lower and upper range of the bins. Lower and upper outliers
    are ignored. If not provided, `range` is (x.min(), x.max()). Range
    has no effect if `bins` is a sequence.

    If `bins` is a sequence or `range` is specified, autoscaling
    is based on the specified bin range instead of the
    range of x.