2017-06-06 9 views
1

Ich bin ein Anfänger in Pandas. Ich möchte eine Spalte von Excel-Datei zu Python-Array mit Pandas extrahieren. Ich möchte eine Schleife durch die gesamte Spalte ausführen. Ich möchte erste Daten in diesem column.Here drucken ist mein Code:IndexError: Index außerhalb der Grenzen in Pandas

import pandas as pd 
xl_workbook = pd.ExcelFile("Summary.xlsx") # Load the excel workbook 
df = xl_workbook.parse("Sheet1") # Parse the sheet into a dataframe 
df['transactionqtr'] = pd.to_datetime(df['transactionqtr'],errors ='coerce') 
df['commencementdate'] = pd.to_datetime(df['commencementdate'],errors ='coerce') 
df=df.dropna() 
df['transactionqtr'] = df['transactionqtr'].apply(lambdax:x.date().strftime('%m%d%y')) 
df['commencementdate'] = df['commencementdate'].apply(lambda x:x.date().strftime('%m%d%y')) 
arr1 = df['transactionqtr'][1][1] 
arr2 = df['commencementdate'][1][1] 
print(arr1) 
print(arr2) 

Aber es zeigt Indexerror: Index außerhalb der Grenzen in dieser Zeile:

arr1 = df['transactionqtr'][1][1] 
arr2 = df['commencementdate'][1][1] 

Wie soll ich dieses Problem lösen? Bitte leite mich auch für besseren Code.

+0

Könnten Sie die gesamte Fehlermeldung enthalten? – acdr

Antwort

0

Ich glaube, Sie brauchen dt.strftime mit tolist oder values:

#if need list 
arr1 = df['transactionqtr'].dt.strftime('%m%d%y').tolist() 
arr2 = df['commencementdate'].dt.strftime('%m%d%y').tolist() 

#if need numpy array 
arr1 = df['transactionqtr'].dt.strftime('%m%d%y').values 
arr2 = df['commencementdate'].dt.strftime('%m%d%y').values 

Und für den ersten Wert Verwendung Indizierung mit []:

a = arr1[0] 
+0

AttributeError: 'str' Objekt hat kein Attribut 'tolist' Es zeigt diesen Fehler an. –

+0

Was ist 'print (df.head())' nach 'df = df.dropna()'? – jezrael

+0

Ich habe das nicht benutzt. –

Verwandte Themen