pandas in matlab using iloc for indexing

10 views (last 30 days)
i want use pandas in matlab but i cant use this for iloc indexing :
% Import pandas:
pd = py.importlib.import_module('pandas');
% Create a dataframe:
df = pd.read_csv('movies.csv');
df.head(int8(5))
df.shape
df.dtypes
df.iloc(int8(5)) % in this line i got some error ->
"Same base class matlab.mixin.internal.indexing.Paren specified more"+...
"than once for class py.pandas.core.indexing._iLocIndexer. Specify"+...
"each base class only once."
  1 Comment
Aimee Nogoy
Aimee Nogoy on 28 May 2024
Did you ever figure this out? Got a similar error but for a different module

Sign in to comment.

Answers (1)

Mike Croucher
Mike Croucher on 29 May 2024
Indexing into Pandas data frames in this way is not supported. As of R2024a, you can convert the dataframe to a MATLAB table and then index into that
%Make a pandas dataframe
last_names = py.pandas.Series({"Sanchez","Johnson","Zhang","Diaz","Brown"},dtype="object");
age = py.numpy.random.randint(18,high=85,size=py.len(last_names));
height = py.numpy.random.randint(60,high=78,size=py.len(last_names));
df = py.pandas.DataFrame(struct("LastName",last_names,"Age",age,"Height",height));
%Convert to table
md = table(df)
md =
5×3 table
LastName Age Height
_________ ___ ______
"Sanchez" 45 75
"Johnson" 29 64
"Zhang" 65 71
"Diaz" 26 76
"Brown" 23 71
%Index into it
md(1,:)
ans =
1×3 table
LastName Age Height
_________ ___ ______
"Sanchez" 45 75

Tags

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!