- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 .txt
具有不同长度行的文件。每行是代表一个轨迹的系列点。由于每条轨迹都有自己的长度,因此行的长度都不同。也就是说,列数从一行到另一行不同。
AFAIK,genfromtxt()
Python 中的模块要求列数相同。
>>> import numpy as np
>>>
>>> data=np.genfromtxt('deer_1995.txt', skip_header=2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 1638, in genfromtxt
raise ValueError(errmsg)
ValueError: Some errors were detected !
Line #4 (got 2352 columns instead of 1824)
Line #5 (got 2182 columns instead of 1824)
Line #6 (got 1412 columns instead of 1824)
Line #7 (got 1650 columns instead of 1824)
Line #8 (got 1688 columns instead of 1824)
Line #9 (got 1500 columns instead of 1824)
Line #10 (got 1208 columns instead of 1824)
filling_values
.但是,我认为这会引起不必要的麻烦,我希望避免。
最佳答案
Numpy.genfromtxt 不处理可变长度行,因为 numpy 仅适用于数组和矩阵(固定行/列大小)。
您需要手动解析数据。例如 :
数据(基于csv):
0.613 ; 5.919
0.615 ; 5.349
0.615 ; 5.413
0.617 ; 6.674
0.617 ; 6.616
0.63 ; 7.418
0.642 ; 7.809 ; 5.919
0.648 ; 8.04
0.673 ; 8.789
0.695 ; 9.45
0.712 ; 9.825
0.734 ; 10.265
0.748 ; 10.516
0.764 ; 10.782
0.775 ; 10.979
0.783 ; 11.1
0.808 ; 11.479
0.849 ; 11.951
0.899 ; 12.295
0.951 ; 12.537
0.972 ; 12.675
1.038 ; 12.937
1.098 ; 13.173
1.162 ; 13.464
1.228 ; 13.789
1.294 ; 14.126
1.363 ; 14.518
1.441 ; 14.969
1.545 ; 15.538
1.64 ; 16.071
1.765 ; 16.7
1.904 ; 17.484
2.027 ; 18.36
2.123 ; 19.235
2.149 ; 19.655
2.172 ; 20.096
2.198 ; 20.528
2.221 ; 20.945
2.265 ; 21.352
2.312 ; 21.76
2.365 ; 22.228
2.401 ; 22.836
2.477 ; 23.804
import csv
datafile = open('i.csv', 'r')
datareader = csv.reader(datafile)
data = []
for row in datareader:
# I split the input string based on the comma separator, and cast every elements into a float
data.append( [ float(elem) for elem in row[0].split(";") ] )
print data
关于python - Python中genfromtxt()中的可变列数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152432/
我正在尝试读取以字符串形式存储在数据文件中的文件名。那里没问题。如果我将它传递给 genfromtxt,我会收到错误“IOError:Z:\Python\Rb input.txt not found”
我对 numpy.genfromtxt 函数有一个非常基本的问题。我正在使用 Enthought Canopy 包:我应该在哪里保存我想使用的 file.txt,或者我应该如何告诉 Python 在哪
我想使用 genfromtxt 读取一个 csv 文件。我有六列是 float ,一列是字符串。 如何设置数据类型,以便将 float 列作为 float 读入,将 string 列作为字符串读入?我
我有以下格式的数据 csv 文件: 130, 706, 249, 627, 428, 767, 430, 63, 884, 593 964, 340, 848, 607, 142, 517, 294
我正在尝试使用 scikit-learn 进行一些分类。但是,我在开始工作和导入数据时遇到了麻烦。 我正在处理这些数据:Adult Data Set . 我是 numpy 和 scikit-learn
我是 Python 的新手,目前在处理我的输入文件读取时遇到问题。基本上我希望我的代码采用一个输入文件,其中相关信息包含在 4 行的 block 中。对于我的特定目的,我只关心每个 block 的第
我有下表: 2M00251602+5422547 7.180 9.000 2.200 #2M00255540+5749320
我有一个 50,000x5,000 矩阵(浮点)文件。当使用 x = np.genfromtxt(readFrom, dtype=float) 将文件加载到内存中时,我收到以下错误消息: File "
我想知道当从具有多列的给定 (csv) 文件加载数据时如何替换特定值,结合字符串和数值。 在下面的示例中,假设您有多个地理位置,具有已知的纬度和经度以及一组特定的属性 (P1-P5) 和一个类(仅包含
在只加载一列数据的情况下,有没有办法强制 genfromtxt 输出形状为:(xx, 1) 的数据?通常的形状是(xx,)。我的示例中的 xx 可以是任何整数。 更新:这是代码示例: import n
我有一个 csv 文件,其中包含: 0812,EP2463,R,FEIGE 0812,EP2466,R,FEIGE 0816,EP2462,R,FEIGE 0816,EP2460,R,FEIGE 我需
我的包 numpy.genfromtxt 有一个奇怪的问题.我用它来读取包含多个列(可用 here )的数据文件,但即使 unpack 设置为 True,这些文件也不会被解压。 这是一个MWE: im
在问这个问题之前我已经阅读了这两个问题( q1 和 q2 )但是我没有找到任何令人满意的答案 我需要从二维数组中提取两列,而不是使用 pandas 或 loadtxt,而是使用 genfromtxt
我正在使用 numpy.genfromtxt 导入 CSV 文件。 要导入的数据有一个列名的标题,其中一些列名包含 genfromtxt 认为无效的字符。具体来说,一些名称包含“#”和“”。输入数据无
我的文件是这样的: 1497484825;34425;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14;-4,28,-14 1497484837;34
使用 Python,我使用 genfromtxt(来自 numpy)将文本文件读入数组: y = np.genfromtxt("1400list.txt", dtype=[('mystring','S
我正在使用以下代码从 CSV 文件中读取大量数据 data = np.genfromtxt(inputfile.name, delimiter=',', dtype=float, names=True
我以为 genfromtxt() 会跳过 skip_header+skiprows,但事实并非如此。如果 skiprows 处于事件状态,则忽略 skip_header。 它们有什么区别? 最佳答案
我正在使用 NumPy 的 genfromtext 从 CSV 文件中获取列。 每一列都需要拆分并分配给单独的 SQLAlchemy SystemRecord 与其他一些列和属性结合并添加到数据库中。
如何加载 csv。当至少一个单元格为空时,将文件放入一个跳过行的数组中?我的 csv 文件很大(超过 1000 行和 14 列): 1;4;3 ;1;3 ;;6 3;4;7 我想跳过第 2 行和第 3
我是一名优秀的程序员,十分优秀!