1.问题描述
在使用python 进行字符串处理时候,我们经常用到numpy包,因为其操作起来很方便,但是当我们再想要将numpy类型转为list时,就会出现一些问题:
1.1 numpy数组含有省略号(解决方案)
当我们想要查看详细的numpy数组内容的时候,我们使用
print(filenames) #此处filenames为一个np数组
命令查看的时候,输出结果则会自动省略一些数据,致使我们后续的操作很难进行:如下所示
调整方案就是,在引入numpy后,需要设置numpy的行列显示限制,具体解决方案如下:
import numpy as np
np.set_printoptions(threshold=np.inf) # 不限制numpy显示的列数
np.set_printoptions(linewidth=np.inf) #设置numpy每一行显示的个数,在此问题中我的数据就是这么长,具体情况具体分析
设置之后,便可看全全部数据:
此时已经没有省略号了。
1.2 使用reshape改变形状为1维或一列后,数据变为(1,N),不是我们需要的(N)
遇到这种情况时,我们也是无法一一取出np里边的内容的,比如我们想要使用for循环读取一下里边的内容
......无关内容已省略
wav_sub_10dB=wav_sub_10dB.reshape(1,-1) #转成一维
#循环读取里边内容
for wav_sub_10d in wav_sub_10dB:
print(wav_sub_10d)
此时wav_sub_10d获取到的并非是我们期望的某个数据,而是整个的数据,且在后续的操作中很难取出。,问题就出现在wav_sub_10dB的格式上,ndarray:(1,300),而如果想要for循环读取的话,则需要一个一维的数据,需要对是上述代码,作如下修改:
wav_sub_10dB=wav_sub_10dB.reshape(1,-1).flatten() #转成一维
#循环读取里边内容
for wav_sub_10d in wav_sub_10dB:
print(wav_sub_10d)
修改后格式如下所示: