pandas in matlab using iloc for indexing

9 visualizzazioni (ultimi 30 giorni)
Amir Azadeh Ranjbar
Amir Azadeh Ranjbar il 4 Ott 2023
Risposto: Mike Croucher il 29 Mag 2024
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 Commento
Aimee Nogoy
Aimee Nogoy il 28 Mag 2024
Did you ever figure this out? Got a similar error but for a different module

Accedi per commentare.

Risposte (1)

Mike Croucher
Mike Croucher il 29 Mag 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

Tag

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by