我是熊猫的初学者。我想从excel文件中提取一个列到pandas的python数组。我想在整个列中运行一个循环。我想在该列中打印第一个数据。这是我的代码:
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 :(得分:0)
我认为您dt.strftime
或tolist
需要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
对于使用[]
的第一个值使用索引:
a = arr1[0]