首页 > 解决方案 > pandas:如何导入以空格分隔的数据文件“horse-colic.data”?

问题描述

我正在尝试导入“数据”文件马绞痛数据集。

文件中的内容看起来像

2 1 530101 38.50 66 28 3 3 ? 2 5 4 4 ? ? ? 3 5 45.00 8.40 ? ? 2 2 11300 00000 00000 2
1 1 534817 39.2 88 20 ? ? 4 1 3 4 2 ? ? ? 4 2 50 85 2 2 3 2 02208 00000 00000 2 
2 1 530334 38.30 40 24 1 1 3 1 3 3 1 ? ? ? 1 1 33.00 6.70 ? ? 1 2 00000 00000 00000 1 

该文件似乎不被视为 csv。因为这段代码

df = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/horse-colic/horse-colic.data', delim_whitespace=True, header=None)
df.replace("?", np.NaN)
df.head()

生产

在此处输入图像描述

df.replace("?", np.NaN)根本不起作用。

有任何想法吗?

标签: pythonpandas

解决方案


csv 文件是每个项目用逗号分隔的文件。我建议使用numpy.genfromtxt,然后将其转换为数据框。

第一点是这样的:

import numpy as np


data = np.genfromtxt('filename.txt',deletechars='?',filling_values=np.NaN)

如果你需要它在熊猫数据框中,那通常是一个非常平滑的过渡

参考:

  1. numpy.genfromtxt - NumPy 手册

推荐阅读