2016-04-27 84 views
1

我有這樣的代碼:轉換這個numpy的代碼大熊貓代碼

path = "C:\\Files" 
dir = os.listdir(path) 
diccio = {} 
list = [] 
MValores = np.array([]) 
for i in dir: 
    file = np.genfromtxt(os.path.join(path, i), delimiter=",") 
    precioCierre = file[:, 0] 
    list.append(precioCierre) 
    nombre = i[1:7] 
    diccio[nombre] = precioCierre 

MValores = np.column_stack(list) 
data = pd.DataFrame(diccio) 

我有一個名爲「.csv」文件列表。

-EURHKD_H1.csv 
-EURJPY_H1.csv 
-EURNZD_H1.csv 
-EURTRY_H1.csv 
-EURUSD_H1.csv 

我用這段代碼來創建一個DataFrame。 有了這個DF我這樣做:

data = np.corrcoef(data, rowvar=0) 
A = minimum_spanning_tree(data) 
print(A) 
print(type(data)) 

的問題是,當我得到最低限度的生成樹我得到一個numpy的類型

<class 'numpy.ndarray'> 

,我想獲得一個數據幀的類型。 使用與numpy相同的代碼我想將該代碼轉換爲熊貓代碼以創建DataFrame。

+0

這也許從這篇文章複製:從numpy的陣列創建熊貓數據幀:我如何指定索引的列和列標題(http://stackoverflow.com/questions/20763012/creating -a-大熊貓-數據幀從-A-numpy的陣列-如何-DO-I-指定最指數式柱) – Deadpool

回答

0

DataFrame.corrnp.corrcoef(..., rowvar=0)的Pandas等價物。

import numpy as np 
import pandas as pd 

ar = np.random.randn(100, 3) 
df = pd.DataFrame(ar) 

assert np.allclose(np.corrcoef(ar, rowvar=0), df.corr().values) 

需要注意的是要回一DataFrameminimum_spanning_tree還必須與DataFrame對象。可以從minumum_spanning_tree的結果中創建DataFrame

DataFrame(minimum_spanning_tree(np.corrcoef(data, rowvar=0)), 
      columns=data.columns, index=data.columns)