我有这段代码:
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。 有了这个,我这样做:
data = np.corrcoef(data, rowvar=0)
A = minimum_spanning_tree(data)
print(A)
print(type(data))
问题是当我得到最小化的生成树时,我得到了一个numpy类型
<class 'numpy.ndarray'>
我想得到一个DataFrame类型。 使用与numpy相同的代码我想将该代码转换为pandas代码以创建DataFrame。
答案 0 :(得分:0)
DataFrame.corr是Pandas等同于np.corrcoef(..., rowvar=0)
。
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)
请注意,要获得DataFrame
,minimum_spanning_tree
也必须使用DataFrame
个对象。
或者,您可以从DataFrame
的结果中创建minumum_spanning_tree
。
DataFrame(minimum_spanning_tree(np.corrcoef(data, rowvar=0)),
columns=data.columns, index=data.columns)