Python numpy.fromstring函数方法的使用

numpy.fromstring 函数用于将字符串转换为一维数组。字符串中的数据必须是数字,并且可以通过空格或其他分隔符分隔。本文主要介绍一下NumPy中fromstring方法的使用。

numpy.fromstring

numpy.fromstring(string, dtype=float, count=-1, sep='')

从字符串中的文本数据初始化的新一维数组。

参数

string :str

包含数据的字符串。

dtype :data-type, 可选

数组的数据类型;默认值:浮动。对于二进制输入数据,

数据必须完全采用这种格式。支持大多数内置数字类型,

并且可能支持扩展名类型。

1.18.0版中的新功能:复杂dtypes

count :int, 可选

dtype从数据中读取此数量的元素。如果为负(默认值),

则将根据数据的长度确定计数。

sep :str, 可选

在数据中分隔数字的字符串;

元素之间的额外空格也会被忽略。

自1.14版本以来已弃用:传递sep= ''(默认值)是已弃用的,

因为它将触发此函数的已弃用二进制模式。

这种模式将字符串解释为二进制字节,

而不是使用十进制数字的ASCII文本,

这种操作更好地拼写为frombuffer(string、dtype、count)

如果string包含unicode文本,

fromstring的二进制模式将首先使用utf-8 (python 3)

或默认编码(python 2)将其编码为字节,

这两种编码都不会产生正常的结果。

返回值

arrndarray

构造的数组。

Raises

ValueError

如果字符串的大小不正确,不能满足要求 dtype并计数。

例子

1)使用空格分隔符

import numpy as np

# 定义一个包含数字的字符串
data = "1 2 3 4 5"

# 使用 fromstring 将字符串转换为一维数组
array = np.fromstring(data, dtype=int, sep=' ')

print(array)

2)使用逗号分隔符

import numpy as np

# 定义一个包含数字的字符串
data = "1,2,3,4,5"

# 使用 fromstring 将字符串转换为一维数组
array = np.fromstring(data, dtype=int, sep=',')

print(array)

3)处理包含浮点数的字符串

import numpy as np

# 定义一个包含浮点数的字符串
data = "1.1 2.2 3.3 4.4 5.5"

# 使用 fromstring 将字符串转换为一维数组
array = np.fromstring(data, dtype=float, sep=' ')

print(array)

4)处理包含其他分隔符的字符串

import numpy as np

# 定义一个包含数字的字符串
data = "1|2|3|4|5"

# 使用 fromstring 将字符串转换为一维数组
array = np.fromstring(data, dtype=int, sep='|')

print(array)

5)使用示例

import numpy as np

# 示例1:使用空格作为分隔符
data1 = '1 2'
array1 = np.fromstring(data1, dtype=int, sep=' ')
print("使用空格分隔符的结果:")
print(array1)
# 输出:
# array([1, 2])

# 示例2:使用逗号作为分隔符
data2 = '1, 2'
array2 = np.fromstring(data2, dtype=int, sep=',')
print("\n使用逗号分隔符的结果:")
print(array2)
# 输出:
# array([1, 2])

推荐阅读
cjavapy编程之路首页