第一關的列索引獲取字符串列表,這裏是我的.xlsx時間序列數據的模樣:從熊貓數據框中
這裏如何我讀它:
def loaddata(filepaths):
t1 = time.clock()
for i in range(len(filepaths)):
xl = pd.ExcelFile(filepaths[i])
df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True)
df = df.dropna(axis=1, how='all')
df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1)
df.index = pd.DatetimeIndex(((df.index.asi8/(1e9*60)).round()*1e9*60).astype(np.int64)).values
if i == 0:
dfs = df
else:
dfs = concat([dfs, df], axis=1)
t2 = time.clock()
print "Files loaded into dataframe in %s seconds" %(t2-t1)
return dfs
files = ["London Lysimeters corrected 5min.xlsx"]
data = loaddata(files)
我需要做的是將列標籤AND單元(第2行和第3行)以及值讀入熊貓數據框,並且能夠以字符串列表的形式訪問標籤和單元行。我似乎無法弄清楚如何加載第2行和第3行,並將時間正確讀入pandas datetimeindex中,但如果僅上載標籤,則工作正常。此外,我已到處尋找,無法弄清楚如何將列標題作爲列表。
如果有人能夠幫助解決這些問題,我將不勝感激。
不幸的是我不能做一個雙讀,因爲它需要30-40s加載了每個表和程序將需要加載的12-16張每次都是相同的大小,即使每個文件的第一次讀取量很小,仍需要一段時間才能開始。但是,能夠獲取字符串將非常方便,因爲我現在可以使用它們來創建組合框並繪製數據,而目前沒有單位。感謝你! – pbreach
也許考慮設置一個塊大小等於頭的長度,並連接除第一塊以外的所有塊。這將分裂成標題,數據,而只打開每個文件一次。 – TomAugspurger