问题标签 [genfromtxt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
584 浏览

python - 如何强制 genfromtxt 读取 csv 作为记录数组?

我正在尝试使用以下行读取 CSV:

OK,这个函数在遇到数据文件中的字符串数据时,将这个文件读入Record Array。据我了解,当 dtype 为 None 时,文件也应该读入 Record Array。那是对的吗?

但是,如果没有字符串数据并且只显示数字数据,则此函数将数据读入 ndarray。

如果没有,是否有一种方便的方法可以强制此函数将文件读取为记录数组?

ndarray 的问题是我所有的代码都是为了处理记录数组而构建的。

UPD1 以防万一有人尝试这样做,这里有一个简短的解决方案。可能这个不是最好的,但至少它有效:

从 csv 读取文件作为 ndarray raw_data = genfromtxt(datafile,delimiter='\t',dtype=None)

为列生成默认名称和数据类型:

最后,创建记录数组:

0 投票
1 回答
1051 浏览

python - numpy.genfromtxt 跳过/忽略长 tsv 文件中的最后一行

我有一个来自 QuickDAQ 的 tsv 文件,其中包含三列 200 000 个值,我想将它们导入 numpy。问题是 genfromtxt 似乎错过了最后一行。就我所见,这条线并没有什么特别之处:

不太有效的代码示例:

该文件有 Windows 样式的换行符,我尝试在 vi 中删除这些换行符,但没有任何区别。什么可能导致 genfromtxt 出现这种行为,如何处理,最好不手动编辑 tsv 文件?

0 投票
2 回答
230 浏览

python - 从文件中读取日期和数据(Python)

我想从文件中读取时间字符串和数据,但是当我使用时,loadtxt我不能同时读取字符串和数字,因为字符串不是浮动的。所以我尝试使用genfromtxt和使用delimiter=[]+[]+[]根据我拥有的列,但字符串的读取方式类似于nan. 我想像时间数组(date2num、datetime 或类似的)一样直接读取时间,以便能够以正确的形式在 matplotlib 中绘图。那么,我能做什么?我在下面留下了一个 mi 列表(显然,它是更多数据):

按照建议,我使用以下方法读取数据:

我读取了数据,但只是一个问题,当我打印数据时出现:

所以,显然band1和band2的数据已经四舍五入了。实际上,在绘图时它看起来是正确的(非四舍五入),但为什么在框架中看起来像那样。

0 投票
8 回答
55742 浏览

python - “得到 1 列而不是 ...”numpy 中的错误

我正在编写以下代码,用于在训练集和测试集上执行随机森林分类;

但是我在执行时收到以下错误;

关于如何避免它的任何建议?谢谢。

0 投票
3 回答
769 浏览

python - Python - 将长地址列表转换为字符串列表和列表的交集

我有两个非常长的文本文件(数千个电子邮件地址,每行一个),我正在寻找一种方法来比较这两个文件并输出包含在第一个文件和第二个文件中的地址,但是不在他们两个中(类似于集合论中的 AUB/(A⋂B) )。如果我可以使用包含字符串的列表作为输入,那就很容易了,就像这样

但由于我的文本文件很长而且在不同的行上,我应该手动将每个地址放在“”中。所以我尝试使用一个字符串,所有地址用空格分隔作为输入,然后将其转换为字符串列表。这就是我得出的结论:

这就是我调用函数时得到的

它有效,但我有一个问题:输入需要是水平的,所以我不能从文本文件中复制我的地址并将它们粘贴到一个字符串中,因为我会得到类似的东西

我该如何处理这个问题?任何改进代码的建议都会非常感激。我对 StringIO 模块几乎一无所知,我今天第一次遇到它,我确信它可以编写一个比我的更高效的程序。顺便说一句,这是整个程序:

这是它如何工作的一个例子:

感谢帮助 :)

0 投票
1 回答
180 浏览

python - 奇怪的结果。txt 文件到 np.array

我正在尝试做一些简单的事情,但由于某种原因我做不到。我一直在网站上寻找相关的答案,但我一直无法完成。

所以,我正在尝试将文本文件、csv 或 rtf 导入到 np.array,到目前为止我已经得到了

example.cvs 是一个文件

881.00,882.00
883.00,884.00

我不知道为什么会有这些东西,我只想要一个包含这 4 个数字的数组。一个 2x2 矩阵。

谢谢

0 投票
4 回答
61559 浏览

string - Python:将字符串(科学计数法)转换为浮点数

我正在尝试在 numpy 中使用 genfromtxt 导入一个包含文本和数字的大型 .csv 文件。我只对两列感兴趣。我将大部分导入整理为:

分别输出 elem 和 concs :

我已经尝试了许多不同的方法来将 concs 字符串转换为浮点数,但它似乎不喜欢 concs 采用科学计数法的事实......是否存在将 concs 值转换为浮点数的方法?预先感谢您的支持。

0 投票
2 回答
8753 浏览

python - numpy genfromtxt/pandas read_csv;忽略引号内的逗号

考虑一个文件,a.dat,其内容:

我正在尝试使用numpy.genfromtxt. 但是,该函数在第 3 行中看到了一个附加列。我收到了类似的错误pandas.read_csv

我试图找到一个输入参数来弥补这一点。我不介意最终得到一个 numpy ndarray 或 pandas 数据框。

是否有我可以在其中设置genfromtxt和/或read_csv让我忽略语音标记中的逗号的参数?

我注意到它read_csv包括一个quotechar='"'参数,定义如下:

quotechar : string (length 1) 用于表示引用项的开始和结束的字符。引用的项目可以包含分隔符,它将被忽略。

这对我来说就像 read_csv 默认情况下应该适用于我的情况一样 - 但它没有。

我可以看到我可以预处理文件以去除逗号 - 如果可能的话,我想避免这种情况,但如果这是唯一的方法,我会欢迎提出建议。

0 投票
2 回答
4926 浏览

python - 如何使用 genfromtxt() 从 NumPy 中的文本文件中读取不同长度的列?

我有数百个这样的文本文件,每列由三个空格分隔。数据为一年:每月 12 个月和 31 天。

下面,我只在下面显示与问题相关的内容:

001 DIST - 阿迪巴德 安得拉 平均温度

我想将每一列读入一个数组,然后对其进行平均。

为此,我正在使用这样的genfromtext()功能:

如您所见,我跳过了前三行和第一列,并将每一列解压缩到一个数组中。没有invalid_raise=False,我收到以下错误:

我认为这个问题是因为列的长度不同?还是其他什么原因?

我想查看输出,所以我使用了invalid_raise=False. 现在我的问题是,当我打印任何数组时,就像JAN我只得到 28 个元素一样。即每个数组只有 28 个元素。似乎每列仅读取 28 行,因为FEB列以 28 天结束。但我需要每个月的数据,即 31 个元素对应JAN30 个JUNE等。

我如何获得每个月的所有元素?

我认为这是一个非常基本的问题,但我对 Python 很陌生NumPy两周前才开始学习。我在 StackOverflow 和 Google 上搜索了很多问题,并了解了如何跳过行、列等。但我找不到与这个特定问题相关的任何答案。

请提出一些模块,功能,代码等。

提前致谢。

0 投票
1 回答
820 浏览

python - Python loadtxt 和 genfromtxt 截断字符串

我有一个 2 列数组混合类型数组,我需要将其读入并重塑为数据立方体。我已经完成了大部分工作,但由于某种原因,numpy.loadtxt 和 np.genfromtxt 都删除了元组字符串部分第 8 个字符之后的所有内容。我有 8 个参数值对的 25 个块,对应于不同质量和金属丰度的恒星。例如,Teff \t\t 5.2739E+3(字符串和浮点数之间有 2 个制表符)可以很好地转换为键值对,但MASS/MSUN \t\t 0.800会转换为'MASS/MSU':0.800而不是 'MASS/MSUN':0.800像我预期的那样。同样,LOG(L/LSUN) \t\t 0.0522变成'LOG(L/LS': 0.0522而不是'LOG(L/LSUN)': 0.0522 为什么字符串中的最后一个字符会脱落?我尝试将分隔符设置为仅制表符,仅制表符和换行符(似乎不喜欢那样),注释掉块之间的行等。似乎无论我做什么,每个字符串的字符限制都被卡住了在 8. 必须有一个我需要声明的字符串子类型。我做了一个解决方法,它只是困扰我。

这是我的代码(我正在使用 Spyder GUI,顺便说一句):