2015-03-16 2 views
0

Я новичок в python и panda.Я пытаюсь рисовать график, используя python panda. Пока я могу читать базу данных sqlite.pandas: постройте несколько столбцов таймсеров с надписями.

import sqlite3 
import pandas as pd 


conn = sqlite3.connect('demo.db') 
df = pd.read_sql("SELECT * FROM ABC", conn) 
df.head() 

Получаю этот результат как результат. enter image description here

Здесь отпечаток времени всего один год. Я хочу построить график линии (год против значения) для всех типов.

Спасибо за помощь

+0

Вы немного ушли от создания сюжета, вам нужно преобразовать свою временную метку в дату-время сначала – EdChum

+0

@EdChum Спасибо за ваш комментарий. Я не уверен, как я могу конвертировать в панду. Можете ли вы помочь мне построить график? – user3930865

+0

'import datetime as dt'' df ['DateTime'] = df ['TimeStamp']. Apply (lambda x: dt.datetime.fromtimestamp (x)) ' – EdChum

ответ

0

без преобразования метки времени DATETIME вы просто сделать сюжет звонок

from pylab import * 
import pandas as pd 
import sqlite3 

# load in your dataframe viy current code 
conn = sqlite3.connect('demo.db') 
df = pd.read_sql('SELECT * FROM ABC',conn) 

# make your plot 
fig = figure(figsize=(6.5,3.5)) 
ax = fig.add_subplot(111) 

ax.plot(df.TimeStamp, df.Value) 
ax.legend(('Value')) 

Теперь реальный вопрос, что вы делаете с отметкой времени? EdChum уже объяснил, как конвертировать в datetime, но, глядя на ваши данные, я вижу, что у вас есть только одно уникальное значение TimeStamp, поэтому, если ваша ось x - это время, у вас будет все, что укладывается поверх остальных. Однако, если вам действительно нужен график времени и значения (вы указали это, но я предположил, что вы ошибочно набрали), тогда это будет иметь больше смысла, и вам нужно будет переключить df.TimeStamp и df.Value в команду ax.plot выше.

+0

Я хочу месяц против значения. поэтому мне нужно извлечь месяц с отметки времени – user3930865

+0

Хорошо, как только вы измените значения индекса на datetime, просто выполните повторный выбор: df = df.resample (rule = '1M', how = 'mean') – tnknepp

+0

Я не могу построить граф с данным кодом # сделать ваш участок рис = цифра (figsize = (6.5,3.5)) ах = fig.add_subplot (111) ax.plot (df.Timestamp, df.Value) ax.legend (('Value')) plt.savefig ('EU2.png', bbox_inches = 'tight') – user3930865

Смежные вопросы