选择奇数行和列

时间:2019-06-20 00:59:21

标签: python pandas matlab

嗨,我有这个Matlab代码,它从残差矩阵中选择奇数行和列。我想将这段代码从转换为Python。请问我的代码是否正确。

Matlab代码:

NewRes(:,:,Channel,:) = Residuals([1:2:size(Residuals,1)],[1:2:size(Residuals,1)],Channel,:);

Python代码:

NewRes[:, :, Channel, :] = Residuals(Residuals[::2], Residuals[::2], Channel, :)

我的代码代表行和列的偶数吗?如何考虑大小(残差,1)。

matlab代码输出的示例

Residuals =

     1     2     3     4
     3     4     5     6
     8     9     3     1

>>  Residuals([1:2:size(Residuals,1)],[1:2:size(Residuals,1)], :, :);
>> Residuals

Residuals =

     1     2     3     4
     3     4     5     6
     8     9     3     1

>> Newres = Residuals([1:2:size(Residuals,1)],[1:2:size(Residuals,1)], :, :);
>> Newres

Newres =

     1     3
     8     3

2 个答案:

答案 0 :(得分:2)

iloc当然是可行的方式:

df.iloc[::2, ::2]

答案 1 :(得分:1)

您可以将.iloc%一起使用

df.iloc[np.arange(df.shape[0]) % 2 == 0, np.arange(df.shape[1]) % 2 == 0]
   1  3
0  1  3
2  8  3