У меня есть два кадра данных.Оба имеют дату и время в качестве индекса.
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()
Это должно выглядеть следующим образом
или вы думаете, что можно также нарисовать знак для продолжительности действия, когда яиспользовать дополнительную информацию в столбце end_at?