CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[python] prendre les valeurs d'un dictionnaire.

roulio62
roulio62
Niveau 31
13 août 2021 à 19:29:02

Hello,

j'ai créé un fichier matlab de 127 millions de données et pour les récupérer, j'utilise la fonction mat73 qui crée un dictionnaire. J'aimerais récupérer les 127 millions de données du dictionnaire pour les mettre dans une variable.

Je n'y arrive pas !!!

renner_data = mat73.loadmat('Yarek_127millions_data.mat')
data = renner_data.get('data')
u = data['data'].T[0]

Yarek_127millions_data.mat est le fichier matlab d'origine, comprenant 127 millions de données dans un vecteur colonne 127M:1
mat73 en fait un dictionnaire.
U est la variable que j'aimerais utiliser pour stocker ces valeurs.

roulio62
roulio62
Niveau 31
13 août 2021 à 19:36:20

:up:

godrik
godrik
Niveau 30
13 août 2021 à 19:39:24

et qu'est ce qui nearche pas?

roulio62
roulio62
Niveau 31
13 août 2021 à 19:45:35

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Azerban
Azerban
Niveau 16
13 août 2021 à 19:49:11

Si tu veux mettre tes données dans une variable (une liste par exemple), faut soit faire une boucle sur ton dictionnaire ou alors utiliser la méthode values() d'un dictionnaire qui te renvoie un générateur (que tu peux ensuite caster dans une liste par exemple).

dico = {"latitude": 48.866667, "longitude": 2.333333}
coordinates = list(dico.values())
print(coordinates)

Retourne :

[48.866667, 2.333333]

Sans connaître l'erreur et la structure de ton dictionnaire c'est un peu compliqué de t'aider.

Azerban
Azerban
Niveau 16
13 août 2021 à 19:51:31

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

roulio62
roulio62
Niveau 31
13 août 2021 à 20:04:25

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

Je ne sais pas. En fait, j'utilise mat73 car la fonction read de python par défaut ne fonctionne pas sur ce fichier MATLAB.

roulio62
roulio62
Niveau 31
13 août 2021 à 20:12:54

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Azerban
Azerban
Niveau 16
13 août 2021 à 20:13:44

Le 13 août 2021 à 20:04:25 :

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

Je ne sais pas. En fait, j'utilise mat73 car la fonction read de python par défaut ne fonctionne pas sur ce fichier MATLAB.

Oui ça j'avais bien compris. Mais le but de la fonction mat73.loadmat est justement de charger le fichier dans une structure de données Python, le dictionnaire en l’occurrence.

Tu peux écrire print(renner_data.keys()) pour voir les clés présentes dans ton dictionnaire.

Azerban
Azerban
Niveau 16
13 août 2021 à 20:16:17

Le 13 août 2021 à 20:12:54 :

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

roulio62
roulio62
Niveau 31
13 août 2021 à 20:53:15

Le 13 août 2021 à 20:16:17 :

Le 13 août 2021 à 20:12:54 :

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

Le 13 août 2021 à 19:39:24 :
et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.

roulio62
roulio62
Niveau 31
13 août 2021 à 21:08:35

:up:

Azerban
Azerban
Niveau 16
13 août 2021 à 21:18:30

Le 13 août 2021 à 20:53:15 :

Le 13 août 2021 à 20:16:17 :

Le 13 août 2021 à 20:12:54 :

Le 13 août 2021 à 19:51:31 :

Le 13 août 2021 à 19:45:35 :

> Le 13 août 2021 à 19:39:24 :

>et qu'est ce qui nearche pas?

data = renner_data.get('data')

ça marche pas
Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.

Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.

roulio62
roulio62
Niveau 31
13 août 2021 à 21:38:12

Le 13 août 2021 à 21:18:30 :

Le 13 août 2021 à 20:53:15 :

Le 13 août 2021 à 20:16:17 :

Le 13 août 2021 à 20:12:54 :

Le 13 août 2021 à 19:51:31 :

> Le 13 août 2021 à 19:45:35 :

>> Le 13 août 2021 à 19:39:24 :

> >et qu'est ce qui nearche pas?

>

> data = renner_data.get('data')

>

> ça marche pas

> Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.

Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.

En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.

Azerban
Azerban
Niveau 16
13 août 2021 à 21:45:45

Le 13 août 2021 à 21:38:12 :

Le 13 août 2021 à 21:18:30 :

Le 13 août 2021 à 20:53:15 :

Le 13 août 2021 à 20:16:17 :

Le 13 août 2021 à 20:12:54 :

> Le 13 août 2021 à 19:51:31 :

>> Le 13 août 2021 à 19:45:35 :

> >> Le 13 août 2021 à 19:39:24 :

> > >et qu'est ce qui nearche pas?

> >

> > data = renner_data.get('data')

> >

> > ça marche pas

> > Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

>

> Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.

Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.

En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.

Demande au type de modifier son code alors, ou donne nous davantage d'informations parce que dire "ça marche pas" sans même avoir le message d'erreur.. et bien c'est un peu compliqué pour déboguer.

roulio62
roulio62
Niveau 31
13 août 2021 à 23:29:42

Le 13 août 2021 à 21:45:45 :

Le 13 août 2021 à 21:38:12 :

Le 13 août 2021 à 21:18:30 :

Le 13 août 2021 à 20:53:15 :

Le 13 août 2021 à 20:16:17 :

> Le 13 août 2021 à 20:12:54 :

>> Le 13 août 2021 à 19:51:31 :

> >> Le 13 août 2021 à 19:45:35 :

> > >> Le 13 août 2021 à 19:39:24 :

> > > >et qu'est ce qui nearche pas?

> > >

> > > data = renner_data.get('data')

> > >

> > > ça marche pas

> > > Je voudrais avoir un vecteur de 127 millions de ligne, et là, apparemment ça donne un string en retour.

> >

> > Là tu renvoies les données correspondant à la clé data. Tu es bien sûr que c'est la bonne clé de ton dictionnaire ?

>

> On ne peut pas prendre toutes les valeurs sinon ?

Mais bien sûr que tu peux prendre toutes les valeurs mais je ne sais pas comment est structuré ton dictionnaire. Tu peux avoir une clé qui correspond à un dictionnaire et dans ce dictionnaire une clé renvoie une liste de listes...

Ok, et sinon, mise à part mat73, tu connais une fonction qui pourrait prendre facilement les valeurs du fichier? J'ai essayé la fonction scipio, ça marche pas.

Tu n'as pas besoin d'une autre fonction. Tu as juste besoin d'un peu de code Python et de comprendre comme manipuler un dictionnaire en Python. Éventuellement poste ton fichier .mat si tu veux que je teste.

En fait, je ne suis pas sensé coder sur Python à la base, je travaille sur MATLAB, un mec m'avait fait un code pour faire un truc sur Python qu'on ne peut pas faire sur MATLAB et là, en changeant de fichier, je me suis rendu compte que son code ne fonctionnait pas.

Demande au type de modifier son code alors, ou donne nous davantage d'informations parce que dire "ça marche pas" sans même avoir le message d'erreur.. et bien c'est un peu compliqué pour déboguer.

Il est en vacance
il retourne un string

roulio62
roulio62
Niveau 31
13 août 2021 à 23:39:46

Quand je fais :
print(renner_data.keys())

j'ai ça

dict_keys(['data'])

Azerban
Azerban
Niveau 16
14 août 2021 à 01:20:04

Le 13 août 2021 à 23:39:46 :
Quand je fais :
print(renner_data.keys())

j'ai ça

dict_keys(['data'])

Écoute sans le fichier original c'est difficile d'évaluer ton problème.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment