Pandas - построение двух информационных фреймов, один как маркер - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть два кадра данных.Оба имеют дату и время в качестве индекса.

                     PM 2.5  PM 10  entry_id
created_at
2018-06-13 16:11:43    4.67   5.17        20
2018-06-13 16:12:43    5.04   5.59        21
2018-06-13 16:13:43    5.40   6.10        22
2018-06-13 16:14:43    5.03   5.55        23
2018-06-13 16:15:43    4.93   5.44        24

                          action              end_at
done_at
2018-11-10 10:15:00  Babymassage 2018-11-10 12:00:00
2018-11-24 10:15:00  Babymassage 2018-11-24 12:00:00
2018-12-01 10:15:00  Babymassage 2018-12-01 12:00:00
2018-12-01 14:30:00  staubsaugen                 NaT
2018-12-01 15:30:00  Ausser Haus 2018-12-03 12:00:00

Я хочу построить время на x, а PM 2.5 и PM 10 на y.И столбец действия со второго кадра данных должен быть текстовой меткой с индексом x из индекса.Это возможно с пандами?Я пытаюсь это сделать, но до сих пор работаю

#Import Modules
from sql_connection import sql_connector
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
from datetime import date

#Get data from SQL server
df = pd.read_sql("feinstaub_wohnzimmer",con=sql_connector("mysql","localhost","3306","root","xxx","feinstaub"),index_col="created_at")
df1 = pd.read_sql("wohnzimmer_aktionen",con=sql_connector("mysql","localhost","3306","root","xxx","feinstaub"),index_col="done_at")

#Sort index
df = df.sort_index(axis=0)
df1 = df1.sort_index(axis=0)

#Group by Day 
dfs = dict(tuple(df.groupby(df.index.strftime('%Y-%m-%d'))))
dfd = dict(tuple(df1.groupby(df1.index.strftime('%Y-%m-%d'))))

#Plot for Today
today = str(date.today())
ax = dfd[today].plot(marker="o", label="action")
dfs[today].plot( y=["PM 2.5","PM 10"], kind='line', ax=ax)
plt.show()

Это должно выглядеть следующим образом enter image description here или вы думаете, что можно также нарисовать знак для продолжительности действия, когда яиспользовать дополнительную информацию в столбце end_at?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...