J'essaie d'utiliser ce message SO pour combiner une date et une heure sans avoir de chance ..
df['DateTime'] = df.apply(lambda x: combine(df['Date'], df['Time']), axis=1)
C'est là que je suis coincé, je ne sais pas comment importer correctement le package ..
Cela ne fonctionne pas:
from datetime import combine
#df= pd.read_csv('C:\\Users\\desktop\\master.csv', index_col='Date', parse_dates=True) df= pd.read_csv('C:\\Users\\desktop\\master.csv')
Quand tout est dit et fait, dois-je parse_dates = True
? Habituellement, toutes mes données sont une date et une heure combinées ... et enfin, je dois définir un nouvel index dans mon cadre de données pandas pour la nouvelle colonne date-heure combinée.
Tous les conseils sont grandement appréciés, merci p >
3 Réponses :
Supposons que vous ayez des données à partir desquelles vous souhaitez créer une date dans la colonne 1, alors vous utilisez la formule magique:
df['date2']= pd.to_datetime(df[['year', 'month', 'day']]) # to check print(m1.dtypes)
Votre méthode:
parse_dates = True
La combinaison de fonctions est à l'intérieur du type datetime dans le module datetime. Essayez plutôt ceci.
from datetime import datetime df['DateTime'] = df.apply(lambda x: datetime.combine(df['Date'], df['Time']), axis=1)
Cela génère une erreur: TypeError: ('L'argument 1 de combine () doit être datetime.date, pas Series', 's'est produit à l'index 0')
Vous pouvez lire les colonnes spécifiées au format datetime à l'aide du paramètre parse_dates ou les lire en tant qu'objets, puis les convertir en datetime.
Option 1:
df= pd.read_csv('C:\\Users\\desktop\\master.csv') df['datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
Option 2:
df= pd.read_csv('C:\\Users\\desktop\\master.csv', parse_dates=[['Date', 'Time']])
pouvez-vous m'aider avec cette question par hasard? L'objet stackoverflow.com/questions/54639490 /…
vous pouvez faire
importer datetime
puis l'utiliser commedatetime.datetime.combine
ouà partir de datetime import datetime
puisdatetime.combine < / code>
@Vaishali, merci la réponse dans le lien que vous avez fourni a totalement fonctionné ... Si vous postez une réponse, cochez la case verte.
df = pd.read_csv ('C: \\ Users \\ desktop \\ master.csv', parse_dates = [['Date', 'Time']])