2017-06-06 20 views
1

私はパンダの初心者です。私はpandas.IとPython配列にExcelファイルから列を抽出したい、私は全体の列を介してループを実行したい。私はそのcolumn.Hereに第一のデータを印刷したい私のコードです:IndexError:パンダの範囲外のインデックス

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) 

しかし、それははIndexErrorを示しています。この行の範囲外のインデックス:

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

は、どのように私はこの問題を解決する必要がありますか?より良いコードを教えてください。

+0

あなたが全体のエラーメッセージが含まれてもらえますか? – acdr

答えて

0

私はあなたがtolistまたはvaluesdt.strftimeが必要だと思う:

#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 

そして[]との最初の値の使用のインデックス作成のために:

a = arr1[0] 
+0

AttributeError: 'str'オブジェクトに 'tolist'属性がありません このエラーが表示されます。 –

+0

'df = df.dropna()'の後に 'print(df.head())'とは何ですか? – jezrael

+0

私はこれを使用しませんでした。 –

関連する問題