Ich lese eine .csv in einen Pandas Datenrahmen (CorpActionsDf). dessen Kopf ist:Pandas Dataframe: TypeError: unkorrigierbare Typen: str()> = datetime.date()
date factor_value reference factor
unique_id
BBG.XAMS.ASML.S 24/04/2015 0.70 Annual Regular Cash
BBG.XAMS.ASML.S 25/04/2014 0.61 Annual Regular Cash
BBG.XAMS.ASML.S 26/04/2013 0.53 Annual Regular Cash
BBG.XAMS.ASML.S 26/11/2012 9.18 None Return of Capital
BBG.XAMS.ASML.S 27/04/2012 0.46 Annual Regular Cash
ich dann versuche, die Datenrahmen zu filtern, so dass ich nur die Daten zwischen zwei Daten im Auge behalten.
startDate=02-01-2008
endDate=20-02-2008
Aber ich erhalte den folgenden Fehler:
TypeError: <class 'datetime.date'> type object 2008-01-02
Ich habe einen anderen Prozess, der die startdate und endDate verwendet, um Informationen mit Erfolg zu filtern, aber aus irgendeinem Grund dieses Mal kann ich die Filterung nicht erhalten Arbeit. Mein Code ist wie folgt:
def getCorpActionsData(rawStaticDataPath,startDate,endDate):
pattern = 'CorporateActions'+ '.csv'
staticPath = rawStaticDataPath
with open(staticPath+pattern,'rt') as f:
CorpActionsDf = pd.read_csv(f,engine='c',header=None,usecols=[0,1,2,3,4],parse_dates=[1],
dayfirst=True,index_col=[1],names=['unique_id', 'date','factor_value','reference','factor'])
print(CorpActionsDf.head())
CorpActionsDf = CorpActionsDf[(CorpActionsDf.index >= startDate) & (CorpActionsDf.index <= endDate)]
I gesetzt parse_dates gleich Spalte 1, so bin ich nicht sicher, was ich falsch gemacht habe. Wenn jemand eine Anleitung anbieten könnte, würde es geschätzt werden.
Vielen Dank
pd.read_csv können nimm eine Datei oder ein Dateiähnliches Objekt. Warum öffnest du die Datei selbst? – hd1