ACE*_*CEG 11 python numpy python-2.7
我想从具有许多缺失值的文件中读取数据,如下例所示:
1,2,3,4,5
6,,,7,8
,,9,10,11
Run Code Online (Sandbox Code Playgroud)
我正在使用numpy.loadtxt函数:
data = numpy.loadtxt('test.data', delimiter=',')
Run Code Online (Sandbox Code Playgroud)
问题是缺少值会破坏loadtxt(我得到一个"ValueError:无法将字符串转换为float:",毫无疑问是因为有两个或多个连续的分隔符).
有没有办法自动执行此操作,使用loadtxt或其他功能,或者我必须咬住子弹并手动解析每一行?
DSM*_*DSM 14
我可能会使用genfromtxt:
>>> from numpy import genfromtxt
>>> genfromtxt("missing1.dat", delimiter=",")
array([[ 1., 2., 3., 4., 5.],
[ 6., nan, nan, 7., 8.],
[ nan, nan, 9., 10., 11.]])
Run Code Online (Sandbox Code Playgroud)
然后用nans做任何事情(将它们更改为某些东西,改为使用掩码等).其中一些可以内联完成:
>>> genfromtxt("missing1.dat", delimiter=",", filling_values=99)
array([[ 1., 2., 3., 4., 5.],
[ 6., 99., 99., 7., 8.],
[ 99., 99., 9., 10., 11.]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12003 次 |
| 最近记录: |