首页 > 解决方案 > 读取数据文件(鲍鱼)并转换为 numpy 数组

问题描述

当我尝试加载UCI鲍鱼数据文件如下:

dattyp = [('sex',object),('length',float),('diameter',float),('height',float),('whole weight',float),('shucked weight',float),('viscera weight',float),('shell weight',float),('rings',int)]

abalone_data = np.loadtxt('C:/path/abalone.dat',dtype = dattyp, delimiter = ',')

print(abalone_data.shape)
print(abalone_data[0])
>>(4177,)
  ('M',  0.455,  0.365,  0.095,  0.514,  0.2245,  0.101,  0.15, 15)

Abalone_data是一个 1 列而不是 9 列的数组。稍后,当我想将其他数据添加为额外的列时,这给我带来了问题。有什么方法可以将这些数据转换为(4177, 9)矩阵,我可以在其中进行通常的列添加等?
谢谢!

标签: pythonnumpy

解决方案


您可以使用熊猫:

import pandas as pd

abalone_data = pd.read_csv('C:/path/abalone.dat', header=None).values
abalone_data.shape

输出:

(4177, 9)

推荐阅读