我有一个形状矩阵4 x 129.我正在尝试进行水平拆分,如下所示:
In [18]: x = np.arange(4*129)
In [19]: x = x.reshape(4, 129)
In [20]: x.shape
Out[20]: (4, 129)
In [21]: y = np.hsplit(x, 13)
ValueError: array split does not result in an equal division
Run Code Online (Sandbox Code Playgroud)
我明白它不能将它平均分成13个.我不想再做一个零填充列并除以13.
我想将x矩阵分成13个小矩阵,其中每个12分割的大小应该是,4 x 10最后一个大小应该是4 x 9.
有没有办法这样做?
使用Librosa库,我将音频文件1319秒的MFCC功能生成到一个矩阵中20 X 56829。在20这里表示MFCC的没有特色(我可以手动进行调整)。但我不知道它是如何将音频长度分割为的56829。处理音频需要多少帧大小?
import numpy as np
import matplotlib.pyplot as plt
import librosa
def getPathToGroundtruth(episode):
"""Return path to groundtruth file for episode"""
pathToGroundtruth = "../../../season01/Audio/" \
+ "Season01.Episode%02d.en.wav" % episode
return pathToGroundtruth
def getduration(episode):
pathToAudioFile = getPathToGroundtruth(episode)
y, sr = librosa.load(pathToAudioFile)
duration = librosa.get_duration(y=y, sr=sr)
return duration
def getMFCC(episode):
filename = getPathToGroundtruth(episode)
y, sr = librosa.load(filename) # Y gives
data = librosa.feature.mfcc(y=y, sr=sr)
return data
data = getMFCC(1)
Run Code Online (Sandbox Code Playgroud) 给出一个清单A.我想删除最后一个元素(b,'zz')每个列表的列表A.
A = [ [(a,'rr'),(c,'rr'),(d,'rr'),(b,'zz')],
[(g,'rr'),(h,'rr'),(e,'rr'),(b,'zz')],
[(c,'rr'),(r,'rr'),(s,'rr'),(b,'zz')] ]
Run Code Online (Sandbox Code Playgroud)
我尝试了什么.
for i in A:
N = del i[-1]
Run Code Online (Sandbox Code Playgroud)
但它没有用.
假设我有一个清单 A
A = [1,2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
我想B按以下顺序使用上述列表创建一个新列表(例如)。
B = [[1,2,3], [3,4,5], [5,6,7], [7,8,9], [9,10,]]
Run Code Online (Sandbox Code Playgroud)
即前三个数字为A[0,1,2],后三个数字为A[2,3,4],依此类推。
我相信其中有一种numpy用于此类操作的功能。
我有一个尺寸为500 X 18904的大型矩阵。
由于大多数值都是零,因此我无法清楚地看到图案,因为零在颜色栏中占主导地位。
为了更仔细地查看数据,我需要放大图像的不同部分。有没有可靠的方法可以使用色条显示此数据?
这是我的代码和输出。
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
j = sio.loadmat('UV_matrix.mat')
k = j['UV']
plt.imshow(k, aspect='auto')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有存储为列表的列表矩阵,并且表示对标签两个列表x和y轴。
A = [[1, 3, 4, 5, 6, 7],
[3, 3, 0, 7, 9, 2],
[1, 3, 4, 5, 6, 6]]
x = ["A", "B", "C", "E", "F", "G"]
Y = ["R", "S", "T"]
Run Code Online (Sandbox Code Playgroud)
我想将矩阵绘制为表格(如下图所示)。
在 Python 中可能吗?
我在视频中完成了对象检测,并在一帧中找到了5到6个坐标.在每个帧中,坐标之间的距离因移动物体而变化.我的文本文件有13列,第一列是帧号和6个坐标,如下所示.我必须找到坐标之间最大空间的框架编号.每个坐标之间的最小任意距离不应该相互交叉,因为我想根据坐标之间的间距来分割视频.
有没有预先编写的算法来进行这种类型的分段,还是应该循环?

301.467 0.713235 0.852451 0.752451 0.753922 0.380392 0.373039 0.282843 0.291667 0.262255 0.283824 0.236765 0.218627
301.6 0.717647 0.864706 0.752941 0.761275 0.753431 0.743627 0.388235 0.383333 0.286765 0.294608 0.237745 0.207353
301.667 0.722059 0.876471 0.756863 0.763726 0.395098 0.391667 0.284314 0.289216 0.238725 0.198529 nan nan
301.867 0.72451 0.884314 0.762745 0.771078 0.40098 0.401961 0.290686 0.292647 0.240196 0.207843 0.241176 0.190686
302 0.731373 0.897059 0.760784 0.771569 0.413725 0.422549 0.302941 0.292157 0.25098 0.179412 nan nan
302.067 0.743627 0.917157 0.765686 0.777941 0.430392 0.444608 0.305392 0.293137 0.257843 0.17402 nan nan …Run Code Online (Sandbox Code Playgroud) python ×6
python-3.x ×3
list ×2
matplotlib ×2
matrix ×2
audio ×1
colorbar ×1
coordinates ×1
heatmap ×1
mfcc ×1
numpy ×1
text ×1