gpt4 book ai didi

Python - numpy.loadtxt 如何忽略结束逗号?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:32 27 4
gpt4 key购买 nike

我正在尝试读取如下所示的文件:

1, 2,
3, 4,

我正在使用以下行:

l1,l2 = numpy.loadtxt('file.txt',unpack=True,delimiter=', ')

这给了我一个错误,因为每行中的结束逗号被集中在一起作为最后一个元素(例如,“2”读作“2,,”)。有没有办法用 loadtxt 或其他函数忽略每行中的最后一个逗号?

最佳答案

numpy.genfromtxt更健壮一点。如果您使用默认数据类型(即 np.float64),它会认为第三列包含缺失值,因此它会创建包含 nan 的第三列。如果您给它 dtype=None(告诉它从文件中找出数据类型),它会返回包含全零的第三列。无论哪种方式,您都可以使用 usecols=[0, 1] 忽略最后一列:

In [14]: !cat trailing_comma.csv
1, 2,
3, 4,

重要说明:我使用 delimiter=',',而不是 delimiter=', '

In [15]: np.genfromtxt('trailing_comma.csv', delimiter=',', dtype=None, usecols=[0,1])
Out[15]:
array([[1, 2],
[3, 4]])

In [16]: col1, col2 = np.genfromtxt('trailing_comma.csv', delimiter=',', dtype=None, usecols=[0,1], unpack=True)

In [17]: col1
Out[17]: array([1, 3])

In [18]: col2
Out[18]: array([2, 4])

关于Python - numpy.loadtxt 如何忽略结束逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com