我有一个很大的npz文件,已经用numpy的np.load加载了。我想将其转换为熊猫的数据框,以便可以使用scikit-learn应用机器学习算法(KNN,K-Means,DT)。我是python的新手,所以我的经验仅限于此库。谢谢您的帮助。
这是我到目前为止所拥有的:
dataset = np.load('./example.npz')
test_data = dataset['data']
test_labels = dataset['labels']
print data.shape
给出(17000, 78400)
print labels.shape
给出(17000, 1)
答案 0 :(得分:2)
我不确定您要如何构建数据框,但这会加载带有标签作为索引的npz文件:
import pandas as pd
import numpy as np
npz = np.load('/path/to/npz.npz')
df= pd.DataFrame.from_dict({item: npz[item] for item in npz.files}, orient='index')
如果要将数组加载到单列中,请使用:
pd.DataFrame.from_dict({item: [npz[item]] for item in npz.files}, orient='index')
如果要将标签加载为列,只需删除orient='index'
。
答案 1 :(得分:0)
请尝试以下操作:
import pandas as pd
df = pd.DataFrame(dataset)