Sto provando a generare una nuova colonna in un DataFrame di panda uguale ai valori di un altro DataFrame panda. Quando provo a creare la nuova colonna ottengo solo NaNs per i nuovi valori di colonna.Valori NaN quando la nuova colonna viene aggiunta ai panda DataFrame
Prima Utilizzo una chiamata API per ottenere alcuni dati, e il dataframe 'mydata' è una colonna di dati indicizzati da date
mydata = Quandl.get(["YAHOO/INDEX_MXX.4"],
trim_start="2001-04-01", trim_end="2014-03-31",
collapse="monthly")
La prossima dataframe ottengo da CSV con il seguente codice, e contiene molte colonne di dati con lo stesso numero di righe come 'mydata'
DWDATA = pandas.DataFrame.from_csv("filename",
header=0,
sep=',',
index_col=0,
parse_dates=True,
infer_datetime_format=True)
allora provo per generare la nuova colonna simili:
DWDATA['MXX'] = mydata.iloc[:,0]
Ancora una volta, ottengo solo i valori NaN. Qualcuno può aiutarmi a capire perché sta facendo questo e come risolverlo? Da quello che ho letto sembra che potrei avere qualcosa di sbagliato con i miei indici. Gli indici sono date in ciascun DataFrame, ma i 'mydata' hanno date di fine mese mentre 'DWDATA' ha date di inizio mese.
Se l'indice non si sovrappone (come tu descrivi), allora avrai davvero dei NaN. Dovrai cambiare l'indice di uno di entrambi, o se sei sicuro che il numero di righe sia esattamente uguale, inserisci i valori (senza indice) nella nuova colonna ('mydata.iloc [:, 0] .values') – joris
L'aggiunta di ".values" ha funzionato! Grazie a @joris e mi ricorderò di quello che gli indici devono essere uguali in futuro! – gtnbz2nite