Как я могу построить диапазон дат в DataFrame, не меняя формат ГГГГ / ММ / ДД ЧЧ: ММ: СС и используя цикл if - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу рисунок (график) этого Dataframe.

df = pd.DataFrame({ 'Date_Time' : V1['Date condensee'], 'S3_MIL_94cm' : MIL94['TEMPERATURE'], 'S3_V1' : V1['TEMPERATURE'], 'S3-V2' : V2['TEMPERATURE'], 'S3-MIL' : MIL['TEMPERATURE'], 'S3-V5' : V5['TEMPERATURE'] })

Но пока значение в моем Date_time, например, 2020-09-14 08:00:00, я не хочу, чтобы значения после этого момента были помещены в график. Я подумал, что, может быть, было бы неплохо преобразовать мои даты в числа и затем использовать if l oop, но я не совсем уверен, как мне это сделать, если я хочу сохранить ГГГГ / ММ / ДД ЧЧ: ММ: СС формат.

Вот моя первая попытка:

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


Mil94 = pd.read_excel('donnees_Martinique.xlsx', sheet_name = 'S3_MIL_94cm')
V1 = pd.read_excel('donnees_Martinique.xlsx', sheet_name = 'S3_V1')
V2 = pd.read_excel('donnees_Martinique.xlsx', sheet_name = 'S3-V2')
Mil = pd.read_excel('donnees_Martinique.xlsx', sheet_name = 'S3-MIL')
V5 = pd.read_excel('donnees_Martinique.xlsx', sheet_name = 'S3-V5')


SondeTemp = pd.DataFrame({ 'Date_Time' : V5['Date condensee'], 'S3_MIL_94cm' : Mil94['TEMPERATURE'], 'S3_V1' : V1['TEMPERATURE'], 'S3-V2' : V2['TEMPERATURE'], 'S3-MIL' : Mil['TEMPERATURE'], 'S3-V5' : V5['TEMPERATURE'] })

SondeTemp.dropna()


i = SondeTemp['Date_Time']
if i<'2020-09-14 08:00:00':

plt.plot( 'Date_Time', 'S3_MIL_94cm', data=SondeTemp, marker = '', color = 'skyblue', linewidth=2)
plt.plot( 'Date_Time', 'S3_V1', data=SondeTemp, marker = '', color = 'red', linewidth=3)
plt.plot( 'Date_Time', 'S3-V2', data=SondeTemp, marker = '', color = 'blue', linewidth=2)
plt.plot( 'Date_Time', 'S3-MIL', data=SondeTemp, marker = '', color = 'olive', linewidth=2)
plt.plot( 'Date_Time', 'S3-V5', data=SondeTemp, marker ='', color = 'black', linewidth=2)
plt.legend(loc = 'upper center', bbox_to_anchor=(0.5, -0.05),fancybox=True, shadow=True, ncol=5)

else:
    pass
...