标签: genfromtxt

numpy.genfromtxt:delimiter =','无法拆分字符串

我不明白为什么numpy.genfromtxt不能正确分割下面的字符串,delimiter=","而它适用于我的块中的大多数其他字符串.

chunk[12968]
Out[143]: '2901869281,3279442095,2012-12-15T23:00:00.003Z,Sacramento,CA,R#3817874,United States,38.583,-121.498,11, 8, 6, 5, 1, 0, 2, 3, 3, 5, 3, 3, 2, 2, 6, 6, 1, 2, 3, 0, 1, 1, 0, 0, 2, 2, 2, 2, 1, 0, 0, 2, 1, 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 0, 0, 4, 0, 0, 0, 1, 3, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 9, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python numpy genfromtxt

3
推荐指数
1
解决办法
393
查看次数

使用numpy.genfromtxt填充缺失值

尽管有以前问题的建议:

使用numpy.genfromtxt()将-9999作为缺失值

使用genfromtxt导入numpy中缺少值的csv数据

我仍然无法处理以缺失值结尾的文本文件,

A.TXT:

1 2 3
4 5 6
7 8
Run Code Online (Sandbox Code Playgroud)

我已经尝试了多种选项安排missing_values,filling_values并且无法使其工作:

import numpy as np

sol = np.genfromtxt("a.txt", 
                    dtype=float,
                    invalid_raise=False, 
                    missing_values=None,
                    usemask=True,
                    filling_values=0.0)
print sol
Run Code Online (Sandbox Code Playgroud)

我想得到的是:

[[1.0 2.0 3.0]
 [4.0 5.0 6.0]
 [7.0 8.0 0.0]]
Run Code Online (Sandbox Code Playgroud)

但相反,我得到:

/usr/local/lib/python2.7/dist-packages/numpy/lib/npyio.py:1641: ConversionWarning: Some errors were detected !
    Line #3 (got 2 columns instead of 3)
  warnings.warn(errmsg, ConversionWarning)
[[1.0 2.0 3.0]
 [4.0 5.0 6.0]]
Run Code Online (Sandbox Code Playgroud)

python parsing numpy genfromtxt

3
推荐指数
2
解决办法
1万
查看次数

numpy genfromtxt转换器未知列数

我有几个数据数字文件,其中小数点分隔符是逗号.所以我使用lambda函数进行转换:

import numpy as np
def decimal_converter(num_cols):
    conv = dict((col, lambda valstr: \
    float(valstr.decode('utf-8').replace(',', '.'))) for col in range(nb_cols))
    return conv

data = np.genfromtxt("file.csv", converters = decimal_converter(3))
Run Code Online (Sandbox Code Playgroud)

文件中的数据是这样的:

0; 0,28321815;  0,5819178
1; 0,56868281;  0,85621369
2; 0,24022026;  0,53490058
3; 0,63641921;  0,0293904
4; 0,65585546;  0,55913776
Run Code Online (Sandbox Code Playgroud)

这里有我的函数,decimal_converter我需要指定我的文件包含的列数.通常我不需要指定numpy.genfromtxt文件中的列数,而是需要查找所有列.即使使用转换器选项,我也希望保留此功能.

python file-io numpy converter genfromtxt

3
推荐指数
1
解决办法
2941
查看次数

在Numpy genfromtxt中加载日期

我正在尝试使用Numpy genfromtxt导入一个简单的CSV文件,但无法将第一列的数据转换为日期。

这是我的代码:

import numpy as np
from datetime import datetime

str2date = lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')

data = np.genfromtxt('C:\\\\data.csv',dtype=None,names=True, delimiter=',', converters = {0: str2date})
Run Code Online (Sandbox Code Playgroud)

我在str2date中收到以下错误:

TypeError:必须为str,而不是字节

问题是有很多列,所以我宁愿避免指定所有列类型(基本上是数字)。

python numpy genfromtxt

3
推荐指数
1
解决办法
4554
查看次数

np.genfromtxt 多个分隔符?

我的文件如下所示:

1497484825;34425;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14
1497484837;34476;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14
Run Code Online (Sandbox Code Playgroud)

我想使用 np.genfromtxt 将其导入 numpy 数组。最大的问题是它有“;” 和 ',' 作为分隔符。我的尝试:

import numpy as np
import io

s = io.StringIO(open('2e70dfa1.csv').read().replace(';',','))

data = np.genfromtxt(s,dtype=int,delimiter=',')
Run Code Online (Sandbox Code Playgroud)

我收到错误:

类型错误:无法将“bytes”对象隐式转换为 str

怎么解决呢?我也愿意接受全新(更好)的想法。

python arrays numpy typeerror genfromtxt

3
推荐指数
1
解决办法
7154
查看次数

如何显示不带引号并以逗号作为分隔符的 NumPy 字符串数组?

我正在尝试从文件中生成一个数组numpy.genfromtxt

文件是这样的:

16.37.235.200|59009|514|16.37.235.153|
17.37.235.200|59009|514|18.37.235.153|
Run Code Online (Sandbox Code Playgroud)

我得到一个像这样的数组:

['16.37.235.200' '17.37.235.200']
Run Code Online (Sandbox Code Playgroud)

但我希望数组是这样的:

[16.37.235.200,17.37.235.200]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy genfromtxt

3
推荐指数
1
解决办法
2952
查看次数

如何使用 genfromtxt 加载包含字符串和数字的 csv 文件?

我正在尝试在 NumPy 数组中加载一个 csv 文件以进行机器学习。到目前为止,我一直使用 int 或 float 数据,但我当前的 csv 包含 string、float 和 int,所以我在 dtype 参数方面遇到了一些麻烦。我的数据集有 41188 个样本和 8 个特征,例如:

47;"university.degree";"yes";176;1;93.994;-36.4;4.857;"no"
Run Code Online (Sandbox Code Playgroud)

我知道如果我指定 dtype=None 类型将由每列的内容确定:

data = np.genfromtxt(filename, dtype=None, delimiter=";", skip_header=1)
Run Code Online (Sandbox Code Playgroud)

但它显然不起作用。首先, genfromtxt 的结果是一个具有以下形状的 numpy ndarray:

In [2]: data.shape
Out[2]: (41188,)
Run Code Online (Sandbox Code Playgroud)

虽然我期待 (41188,8)

相反,如果我使用默认的 dtype:

data2 = np.genfromtxt(filename, delimiter=";", skip_header=1)
Run Code Online (Sandbox Code Playgroud)

我获得以下数据形状:

In [4]: data2.shape
Out[4]: (41188,8)
Run Code Online (Sandbox Code Playgroud)

其次,使用 dtype=None 我获得以下弃用警告:

VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.
Run Code Online (Sandbox Code Playgroud)

我可以通过使用来修复(是否正确?):

encoding='ASCII' …
Run Code Online (Sandbox Code Playgroud)

python numpy genfromtxt

3
推荐指数
1
解决办法
3253
查看次数

genfromtxt dtype = None返回错误的形状

我是numpy的新手,我很难将CSV读入带有genfromtxt的numpy数组.

我在网上找到了一个我正在使用的CSV文件作为示例.它是浮子和弦的混合物.它在这里:http://pastebin.com/fMdRjRMv

我正在使用numpy通过pylab(通过:ipython -pylab在Ubuntu系统上初始化).numpy.version.version是1.3.0.

这是我做的:

示例#1:

data = genfromtxt("fMdRjRMv.txt", delimiter=',', dtype=None)

data.shape

(374, 15)


data[10,10] ## Take a look at an example element

'30'

type(data[10,10])

type 'numpy.string_'
Run Code Online (Sandbox Code Playgroud)

CSV文件中没有错误的引号,所以我不知道为什么它应该认为该数字是一个字符串.有谁知道为什么会这样?

示例#2(跳过第一行):

data = genfromtxt("fMdRjRMv.txt",delimiter =',',dtype = None,skiprows = 1)

data.shape

(373)

有谁知道为什么它不能将所有这些都读成一维数组?

非常感谢!

csv numpy genfromtxt

2
推荐指数
1
解决办法
2015
查看次数

使用numpy.genfromtxt()将-9999作为缺失值

让我说我有一个愚蠢的文本文件与内容:

Year    Recon   Observed
1505    162.38        23      
1506     46.14     -9999      
1507    147.49     -9999      
Run Code Online (Sandbox Code Playgroud)

-9999 用于表示缺失值(不要问).

所以,我应该能够将其读入一个Numpy数组:

import numpy as np
x = np.genfromtxt("file.txt", dtype = None, names = True, missing_values = -9999)
Run Code Online (Sandbox Code Playgroud)

让我所有的小朋友-9999变成numpy.nan.但是,我得到:

>>> x
array([(1409, 112.38, 23), (1410, 56.14, -9999), (1411, 145.49, -9999)], 
  dtype=[('Year', '<i8'), ('Recon', '<f8'), ('Observed', '<i8')])
Run Code Online (Sandbox Code Playgroud)

... 那是不对的...

我错过了什么吗?

python numpy genfromtxt

2
推荐指数
1
解决办法
2564
查看次数

Python genfromtxt文件路径

我对numpy.genfromtxt函数有一个非常基本的问题。我使用的是Enthought Canopy软件包:我应该在哪里保存要使用的file.txt,或者如何告诉Python在哪里寻找?使用IDLE时,我只是将文件保存在预设文件夹中,例如C:\ Users \ Davide \ Python \ data.txt,得到的是

>>> import numpy as np
>>> np.genfromtxt('data.txt')
array([[ 33.1 ,  32.6 ,  18.2 ,  17.9 ],
       [ 32.95,  32.7 ,  17.95,  17.9 ],
       [ 32.9 ,  32.6 ,  18.  ,  17.9 ],
       [ 33.  ,  32.65,  18.  ,  17.9 ],
       [ 32.95,  32.65,  18.05,  17.9 ],
       [ 33.  ,  32.6 ,  18.  ,  17.9 ],
       [ 33.05,  32.7 ,  18.  ,  17.9 ],
       [ 33.05,  32.5 ,  18.1 ,  17.9 ], …
Run Code Online (Sandbox Code Playgroud)

python numpy filepath genfromtxt

2
推荐指数
1
解决办法
6663
查看次数

标签 统计

genfromtxt ×10

numpy ×10

python ×9

arrays ×2

converter ×1

csv ×1

file-io ×1

filepath ×1

parsing ×1

typeerror ×1