我有一個關於在一個numpy數組中取一個元素並在一個循環中調整其大小的問題。帶有不均勻尺寸元素的時間序列
基本問題是,我有一個格式爲(x,y)的時間序列,其中一些元素缺少y值,因此它們被讀入程序中的長度爲1。
即: [X,Y] [X,Y] [X] [X,Y]
所以我需要採取這些偶然點,並將它們的大小調整爲標準(1,2 )(然後根據分佈生成一個點,但這不是麻煩)。我知道numpy.resize功能的,但是當我嘗試:
for element in list:
if len(element)==1:
element=n.resize(element,(1,2))
它的工作循環的範圍之內,但如果我打印列表中的所有元素都彷彿從未發生過的循環一樣。 resize函數返回一個數組,所以我很困惑,爲什麼設置列表的元素等於該數組不起作用。
編輯: 我發現使用常規的Python列表一個簡單的解決方案:
for element in list:
if len(element)==1:
element.append(0)
但我仍然好奇,爲什麼上面是不行的,因爲肯定是設置元素等於事情是可能的。或者你只能將元素[i]設置爲等於[1,x]數組中的某個元素?
用於處理時間序列,我會建議[pandas](http://pandas.pydata.org/)。 [read_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.parsers.read_csv.html#pandas-io-parsers-read-csv)函數應該提供您需要的所有內容解析你的數據。 – bmu