Converting an array slicer to Python

10 ビュー (過去 30 日間)
HC98
HC98 2023 年 1 月 28 日
回答済み: sam 2023 年 4 月 17 日
I have this code in MATLAB (attached below) and wondered how I'd go about converting it to Python seeing as it keeps giving me an error "TypeError: only integer scalar arrays can be converted to a scalar index"
l0= -200
l0 = -200
hi = 20
hi = 20
x = ones(27000, 1);
udata = ones(27000, 10);
x1 = x((x>lo)&(x<hi));
Unrecognized function or variable 'lo'.
u1 = udata((x>lo)&(x<hi), :);

採用された回答

Chris
Chris 2023 年 1 月 28 日
編集済み: Chris 2023 年 1 月 28 日
Here's a demonstration.
import numpy as np
lo = -200
hi = 20
x = np.ones((27000,1))
udata = np.ones((27000,10))
columnMask = (x>lo)&(x<hi)
cn = columnMask.nonzero()[0]
u1 = udata[cn,:]

その他の回答 (1 件)

sam
sam 2023 年 4 月 17 日
This error message suggests that a function or operation is expecting an integer scalar index (single integer) as an index, but is instead receiving an array or a non-integer value. This can occur when attempting to index or slice an array with a non-integer or non-scalar value. To resolve this error, ensure that the index being used is a single integer and not an array or non-integer value. If working with arrays, consider using integer indexing or slicing methods to access specific elements or subsets of the array.

カテゴリ

Help Center および File ExchangeCall Python from MATLAB についてさらに検索

タグ

製品


リリース

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by