0
我通常不會在這些論壇上發佈問題,但我已遍佈整個地方搜索,並且我沒有發現任何有關此問題的信息。將numpy的flatten_dtype與具有標題的結構化dtypes結合使用
我正在使用結構化數組來存儲實驗數據。我使用標題來存儲有關我的字段的信息,在這種情況下是度量單位。當我在我的D型呼叫numpy.lib.io.flatten_dtype(),我得到:
ValueError: too many values to unpack
File "c:\Python25\Lib\site-packages\numpy\lib\_iotools.py", line 78, in flatten_dtype
(typ, _) = ndtype.fields[field]
我不會很在意,只是numpy.genfromtxt()調用numpy.lib.io.flatten_dtype() ,我需要能夠從文本文件中導入我的數據。
我想知道我是否做錯了什麼。 flatten_dtype()不是用來支持標題的嗎? genfromtxt()有沒有解決方法?
這裏是我的代碼片段:
import numpy
fname = "C:\\Somefile.txt"
dtype = numpy.dtype([(("Amps","Current"),"f8"),(("Volts","Voltage"),"f8")])
myarray = numpy.genfromtxt(fname,dtype)
謝謝你的解決方法。這對我來說很有用,但總結起來有點難。我做了大量的數據處理工作,並且正在開發一個能夠自動完成我所做的大部分工作的項目。我希望將這些結構化數組用作整個項目的數據容器。不幸的是,我對它的看法越多,這些標題看起來就像是事後想象的那樣,在沒有全力支持的情況下就會變得粗糙。我正在考慮修補有問題的numpy.lib.io.flatten_dtype()。我知道這通常不是很好的做法,但在這種情況下,它似乎是最簡單的路線。有什麼想法嗎? – Emma 2010-08-18 21:58:27
我已經添加了一些代碼,顯示flatten_dtype可以如何修補。我認爲使用猴子補丁可以作爲一個快速解決方案,但當然,將這個bug修正爲numpy會更令人滿意,所以在將來不會有人對此問題感到困擾。 爲此,您可能想要在http://projects.scipy.org/numpy/report上提交一張票,或者在numpy-discussion郵件列表上發佈一個問題(http://scipy.org/Mailing_Lists )。開發人員閱讀該郵件列表,應該能夠給你提供比我更好的建議。如果它是一個錯誤,甚至可能修復它。 – unutbu 2010-08-19 01:43:31
非常感謝,我會那樣做。 – Emma 2010-08-19 18:30:56