numpy数组中含有带万的字符串数据,将它们的万去掉并保存为新的数组
时间: 2024-05-05 18:16:09 浏览: 12
假设我们有一个包含带万的字符串数据的NumPy数组,如下所示:
``` python
import numpy as np
arr = np.array(['1000万', '2000万', '500万', '1亿'])
```
我们可以使用NumPy的vectorize函数,结合Python内置的字符串操作函数,来处理这些字符串数据:
``` python
def remove_wan(x):
if '万' in x:
return str(int(x[:-1]) * 10000)
else:
return x
remove_wan_vec = np.vectorize(remove_wan)
new_arr = remove_wan_vec(arr)
print(new_arr)
```
输出结果为:
```
['10000000' '20000000' '5000000' '1亿']
```
我们定义了一个remove_wan函数,它接受一个字符串参数x,如果x中包含万,则将万去掉,并将数字乘以10000;否则直接返回x。然后,我们使用NumPy的vectorize函数将remove_wan函数向量化,使其能够处理NumPy数组中的每个元素。最后,我们将处理后的新数组打印出来。
相关问题
把字符串[[1 2]\n [3 4]]变为numpy数组
可以使用`numpy`中的`array`函数将该字符串转换为`numpy`数组。需要先将字符串中的空格和换行符去掉,然后再根据矩阵的形状将其转换为数组。
示例代码如下:
```python
import numpy as np
s = '[[1 2]\n [3 4]]' # 原始字符串
# 去掉空格和换行符
s = s.replace('[','').replace(']','').replace('\n','').replace(' ','')
# 将字符串转换为numpy数组
arr = np.array(list(map(int, s.split(',')))).reshape((2,2))
print(arr)
```
输出结果为:
```
array([[1, 2],
[3, 4]])
```
怎么把txt文件中的数据以数组形式读入
你可以使用Python内置的open函数和readlines方法来读取文本文件中的数据,并将其存储为一个数组。具体步骤如下:
1. 打开文本文件,使用readlines方法读取文件中的所有行:
```python
with open('file.txt', 'r') as file:
lines = file.readlines()
```
2. 去除每行末尾的换行符,使用strip方法:
```python
lines = [line.strip() for line in lines]
```
3. 将每行数据转换成需要的数据类型,如整型或浮点型:
```python
data = [float(line) for line in lines]
```
4. 将数据存储为数组:
```python
data_array = np.array(data)
```
完整代码如下:
```python
import numpy as np
with open('file.txt', 'r') as file:
lines = file.readlines()
lines = [line.strip() for line in lines]
data = [float(line) for line in lines]
data_array = np.array(data)
```
在上面的代码中,'file.txt' 是你要读取的文件的路径和文件名。读取文本文件后,它的每行数据将被存储为一个字符串,并存储在lines数组中。然后,我们去除每行末尾的换行符,并将每行数据转换成浮点数。最后,我们将数据存储为NumPy数组data_array。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)