python - numpy.genfromtxt 和 numpy.loadtxt 的区别,以及 Unpack

标签 python function python-2.7 numpy

我很想知道这个线程标题中提到的两个函数之间的区别。在包含文档的网站上,它说,“numpy.loadtxt [is] [an] 没有数据丢失时的等效函数。”这到底是什么意思?这是否意味着,例如,如果我有一个 csv 文件,在包含数据的两列之间有一个空白列,我不应该 numpy.loadtxt

还有,这是什么意思,

"unpack : bool, optional
If True, the returned array is transposed, so that arguments may be unpacked using x, y, z = loadtxt(...)"

我不太确定这是什么意思。

非常感谢您的帮助,谢谢!

最佳答案

你是对的。使用 np.genfromtxt 为您提供了一些选项,例如参数 missing_valuesfilling_values 可以帮助您处理不完整的 csv。示例:

1,2,,,5
6,,8,,
11,,,,

可以阅读:

filling_values = (111, 222, 333, 444, 555) # one for each column
np.genfromtxt(filename, delimiter=',', filling_values=filling_values) 
#array([[   1.,    2.,  333.,  444.,    5.],
#       [   6.,  222.,    8.,  444.,  555.],
#       [  11.,  222.,  333.,  444.,  555.]])

当您想将文本文件的每一列放在不同的变量中时,参数 unpack 很有用。例如,您有包含 x, y, z 列的文本文件,然后:

x, y, z = np.loadtxt(filename, unpack=True)

请注意,这与

的工作方式相同
x, y, z = np.loadtxt(filename).T

默认情况下,迭代二维数组意味着迭代线条,这就是为什么您必须在本示例中转置或使用 unpack=True

关于python - numpy.genfromtxt 和 numpy.loadtxt 的区别,以及 Unpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20245593/

相关文章:

c - 可变大小数组,来自函数,从函数调用

c++ - 按升序排列的 vector 元素

javascript - onclick 函数参数

python - 使用 Python 网页表格中的最后一个超链接

python - 如何使用 numpy loadtxt 加载多列?

python - 当掩码为一个时,numpy 更改数组值

python - 使用列表存储折扣代码,并在兑换后将其从列表中删除

python - 如果字典中存在特定键项,如何获取列表中字典的索引

javascript - 在python中获取执行的javascript内容

python - 如何在更正 if 语句之前打印 X 行