0
我生成使用numpy.genfromtxt
像這樣的數據:使用:操作者numpy.void的索引numpy.ndarray(由numy.genfromtxt輸出)
ConvertToDate = lambda s:datetime.strptime(s,"%d/%m/%Y")
data= numpy.genfromtxt(open("PSECSkew.csv", "rb"),
delimiter=',',
dtype=[('CalibrationDate', datetime),('Expiry', datetime), ('B0', float), ('B1', float), ('B2', float), ('ATMAdjustment', float)],
converters={0: ConvertToDate, 1: ConvertToDate})
我現在要提取的最後4個列(每個行,但在一個循環,所以讓我們只考慮一行)分離變量。所以我這樣做:
B0 = data[0][2]
B1 = data[0][3]
B2 = data[0][4]
ATM = data[0][5]
但如果我能做到這一點(我就像一個普通的2D ndarray例如)我寧願它:
B0, B1, B2, ATM = data[0][2:]
但是這給了我一個「無效的指數'錯誤。有沒有辦法很好地做到這一點,還是應該堅持4線方法?
我把你最後的建議,並修改了它這樣的---爲B0,B1,B2,ATMAdjustment數據[ 「B0」 ,「B1」,「B2」,「ATMAdjustmen」]]:---這是可以接受的方式嗎? – Dan
@丹:當然!我編輯瞭解決方案。 –
這個答案在我嘗試對pytables Table.readWhere()函數返回的列進行切片時對我很有用。我沒有意識到什麼是結構化數組(從readWhere()返回的對象的類型是,我沒有意識到它與「結構化數組」相同)。 –