Pandas liest csv dateint Spalten zu datetime
Ich bin neu in StackOverflow und Pandas. Ich versuche, eine große CSV-Datei mit Börsendaten im folgenden Format einzulesen:
date,time,open,high,low,close,volume,splits,earnings,dividends,sym
20130625,715,49.2634,49.2634,49.2634,49.2634,156.293,1,0,0,JPM
20130625,730,49.273,49.273,49.273,49.273,208.39,1,0,0,JPM
20130625,740,49.1866,49.1866,49.1866,49.1866,224.019,1,0,0,JPM
20130625,745,49.321,49.321,49.321,49.321,208.39,1,0,0,JPM
20130625,750,49.3306,49.369,49.3306,49.369,4583.54,1,0,0,JPM
20130625,755,49.369,49.369,49.369,49.369,416.78,1,0,0,JPM
20130625,800,49.369,49.369,49.3594,49.3594,1715.05,1,0,0,JPM
20130625,805,49.369,49.369,49.3306,49.3306,1333.7,1,0,0,JPM
20130625,810,49.3306,49.3786,49.3306,49.3786,1567.09,1,0,0,JPM
Ich habe den folgenden Code, um ihn in einen DataFrame in Pandas einzulesen
import numpy as np
import scipy as sp
import pandas as pd
import datetime as dt
fname = 'bindat.csv'
df = pd.read_csv(fname, header=0, sep=',')
Das Problem ist, dass die Datums- und Zeitspalten als int64 eingelesen werden. Ich möchte diese beiden zu einem einzigen Zeitstempel zusammenführen, z. B .: 2013-06-25 07: 15: 00.
Ich habe Mühe, die Zeit richtig einzulesen mit:
df['date'] = pd.to_datetime(df['date'].astype(str))
df['time'] = pd.to_datetime(df['time'].astype(str))
Der erste Befehl funktioniert zum Konvertieren, aber die Zeit scheint komisch.
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 9999 entries, 0 to 9998
Data columns (total 11 columns):
date 9999 non-null datetime64[ns]
time 9999 non-null object
open 9999 non-null float64
high 9999 non-null float64
low 9999 non-null float64
close 9999 non-null float64
volume 9999 non-null float64
splits 9999 non-null float64
earnings 9999 non-null int64
dividends 9999 non-null float64
sym 9999 non-null object
dtypes: datetime64[ns](1), float64(7), int64(1), object(2)None
Und dann möchte ich in einem einzigen DatetimeIndex zusammenführen.
Alle Vorschläge werden sehr geschätzt.
Prost