Как реализовать построение графика из данных CSV файла?
У меня есть файл CSV со следующим содержимым:
1981, 10, 0.056, 272.73, 25.25, 37.63, 31.44,\
1982, 11, 0.069, 275.46, 26.81, 34.79, 30.80,\
1983, 12, 0.085, 278.05, 27.87, 35.91, 31.89,\
1984, 13, 0.096, 279.89, 26.45, 40.30, 33.37,\
1985, 14, 0.109, 281.55, 22.93, 45.47, 34.20,\
1986, 15, 0.120, 282.57, 16.15, 59.42, 37.78,
Нужно реализовать построение графика, исходя из этих данных. За ось X отвечают года, за Y- данные из последнего столбца.
Создаю следующий фрейм:
data = pd.read_csv('путь к файлу', skiprows=c,nrows=d).
data2 = pd.DataFrame(data,columns=['A','B','C','D','E','F','G'])
Параметры пропуска я получаю при запуске, т.е. возможны варианты вывода графика как с 1981 по 1985, так и с 1983-1985. Таким образом я рассчитывал реализовать пропуск ненужных данных при считывании.
Далее, делаю еще одну переменную, которая должна в себе содержать только последний столбец:
df = pd.DataFrame(data2['G'])
И соответственно, теперь осталось использовать этот набор данных для построения графика.
Проблема в том, что в переменную df записываются NaN.
Как это грамотно (или же хоть как-то) реализовать, чтобы я сам это смог понять?
csv файл https://dropmefiles.com/4vUsn

если взять ваш пример, то график получается линией, как раз то что мне и нужно, при использовании данных с другого файла, картина меняется, не подскажете, как изменить его вид? Пробовал стиль графика менять, закончилось тем, что график становился просто линией внизу
Ответы (1 шт):
Попробуйте так:
import matplotlib.pyplot as plt
df = pd.read_csv(filename, header=None, usecols=[0,6],
names=["year", "val"], index_col=0)
df.plot()
plt.show()
Вот так выглядит DataFrame после чтения данных:
In [260]: df
Out[260]:
val
year
1981 31.44
1982 30.80
1983 31.89
1984 33.37
1985 34.20
1986 37.78
PS если фрейм нужно отфильтровать по годам:
df = df.query("1981 <= year <= 1985")
