numpy n'a pas de read_csv, il faut utiliser pandas
Si ça ne fait rien c'est que le kernel python dans jupyter est en train de tourner et il faut attendre (pandas est assez lourd, donc prend du temps à être importer)
Je pense que c'est une des raisons pour laquelle j'ai vu que les import sont dans une cellule, et la suite du code dans les cellules suivantes. (pas la peine de faire les import à nouveau si on modifie une partie du code dans la cellule)
la ligne df=pd.read_csv(..) devrait afficher le df (et à lexécution, il doit y avoir un nombre dans les cochets devant la cellule , si c'est une étoile, c'est que le kernel est occupé)
Merci David P. ! en effet , cela a fonctionné partiellement
j'ai ajouté
df.head () comme conseillé et j'ai eu les 5 premières lignes du tableau parfaitement bien affichées . C'est un bon début, merci !
je sais que c'est le but de ce code ('head' pour n'afficher que les premières lignes)
Mais maintenant, comment afficher l'intégralité (toujours via Pandas), du tableau ? j'ai pourtant un PC puissant et si je retire "pd.head () " et que j'exécute, il ne se passe rien (pas même une sorte de barre de progession comme un téléchargement, ou autre, pour montrer que le PC "réfléchit..) --_--
j'ai pourtant un PC assez puissant :
Windows 11
version 22H2
AMD Ryzen 9 6900HX with Radeon Graphics
3.30 GHz
mémoires RAM 32,0 Go (31,3 Go utilisable)
système d'exploitation : Système d’exploitation 64 bits, processeur x64
Merci David P. ! en effet , cela a fonctionné partiellement
j'ai ajouté
df.head () comme conseillé et j'ai eu les 5 premières lignes du tableau parfaitement bien affichées . C'est un bon début, merci !
Mais maintenant, comment afficher l'intégralité (toujours via Pandas), du tableau ? j'ai pourtant un PC puissant et si je retire "pd.head () " et que j'exécute, il ne se passe rien (pas même une sorte de barre de progession comme un téléchargement, ou autre, pour montrer que le PC "réfléchit..) --_--
j'ai pourtant un PC assez puissant :
Windows 11
version 22H2
AMD Ryzen 9 6900HX with Radeon Graphics
3.30 GHz
mémoires RAM 32,0 Go (31,3 Go utilisable)
système d'exploitation : Système d’exploitation 64 bits, processeur x64
Dîtes vous que ça ne sera jamais lié à la puissance de votre processeur, Python est plus lent que certains autres langages (surtout compilés) mais a tout à fait les moyens de lire une dataframe conséquente (plusieurs millions de lignes) car pandas est un module Python écrit en C.
Je pense que votre problème est un problème de configuration.
Après avoir importé votre module pandas, modifier cette configuration de cette manière,
pd.set_option("display.max_rows", None, "display.max_columns", None)
... # suite du code
print(df)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Merci David P. ! en effet , cela a fonctionné partiellement
j'ai ajouté
df.head () comme conseillé et j'ai eu les 5 premières lignes du tableau parfaitement bien affichées . C'est un bon début, merci !
Mais maintenant, comment afficher l'intégralité (toujours via Pandas), du tableau ? j'ai pourtant un PC puissant et si je retire "pd.head () " et que j'exécute, il ne se passe rien (pas même une sorte de barre de progession comme un téléchargement, ou autre, pour montrer que le PC "réfléchit..) --_--
j'ai pourtant un PC assez puissant :
Windows 11
version 22H2
AMD Ryzen 9 6900HX with Radeon Graphics
3.30 GHz
mémoires RAM 32,0 Go (31,3 Go utilisable)
système d'exploitation : Système d’exploitation 64 bits, processeur x64
Dîtes vous que ça ne sera jamais lié à la puissance de votre processeur, Python est plus lent que certains autres langages (surtout compilés) mais a tout à fait les moyens de lire une dataframe conséquente (plusieurs millions de lignes) car pandas est un module Python écrit en C.
Je pense que votre problème est un problème de configuration.
Après avoir importé votre module pandas, modifier cette configuration de cette manière,
pd.set_option("display.max_rows", None, "display.max_columns", None)
... # suite du code
print(df)
Input In [2] import pandas aspd ^SyntaxError: invalid syntax
quel code qui éviterait ce message d'erreur et m'afficherait le tableau intégral dans jupyter notebook ? (le fichier csv est bien stocké dans le même dossier que mon .ipynp)
demande : afficher tout le tableau, (non pas juste les 5 premières lignes)
- Edité par Marie L. (DS) 15 octobre 2022 à 17:39:08
merci Fred. je comprends pas qu'il faille revoir les paramètres ; c'est à chaque ouverture de Jupyter notebook que je dois tout refaire ? ce conseil est il valable uniquement pour l'import de .csv (.xlsx) ? ce serait vraiment pas souhaitable..
Il n'y a pas d'intérêt à écrire des millions de lignes sur une console, revoir ces paramètres permettent pour des centaines de lignes peut-être de vous aider à comprendre, mais en réalité voir les 5 premières devraient suffire.
Donc pour un affichage console personnalisé, oui il faudra le faire, je connais pas Jupyter, mais peut-être qu'une exécution automatique avec importation et modification des options d'affichage est possible... À vous de voir !
Par contre je ne comprend pas votre erreur, et pourquoi numpy est présent alors que dans un post précédent on vous indique que numpy est inutile !
Je vous ai pourtant donné la solution, mais il semble que ça n'a pas été suffisamment clair, donc je mets le code complet sans tester.
import pandas as pd
pd.set_option("display.max_rows", None, "display.max_columns", None)
df=pd.read_csv('EdStatsCountry.csv')
print(df)
M.Ler. (DS) a écrit:
j'ai refait avec cette fois votre code ajouté (en rouge en bas) :
Input In [2] import pandas aspd ^SyntaxError: invalid syntax
Encore une fois on en revient à la même problématique, Python ne vous comprend pas, car vous n'avez pas appris à lui écrire de manière à comprendre en lisant des tutoriels par exemple.
Vous avez oublié un espace entre as et pd.
- Edité par fred1599 15 octobre 2022 à 17:44:12
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Regardez vos messages, et essayez de distinguer les mots que j'emploi et ceux que vous comprenez.
Je parle de lire, vous parlez de traiter. Je dis qu'il est inutile de lire des millions de lignes, et je continue à le penser... Par contre les traiter est tout l'objectif d'avoir des données et cela va se faire en utilisant votre variable df avec d'autres fonctions que print.
Pour votre erreur elle est très claire, il ne trouve pas votre fichier EdStatsCountry.csv dans le dossier courant où vous exécutez le script.
J'essaye de peser mes mots pour vous faire bien comprendre, prenez le temps de vous concentrez quand vous me lisez...
- Edité par fred1599 15 octobre 2022 à 17:52:31
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Certes on est pas loin, j'aurai tendance (je sais pas si ça joue) à inverser ligne 2 et 3, et ajouter print(df).
Si vous souhaitez afficher des millions de lignes sur Jupyter (que je ne connais pas), peut-être que de son côté son principe oblige à ne pas en afficher autant.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
il me faudrait alors un autre outil ; j'ai besoin d'un moyen d'afficher des tableaux de millions de données .
j'en ai besoin au quotidien notamment lorsque je travaille sur des databases de l'INSEE (il y a évidemment des millions de lignes ..)
quelqu'un connaitrait-il - hors mis Jupyter , qui visiblement limite le nombre de lignes à l'affichage d'un .csv) - (en open source) un outil s'y substituant ? et plus puissant ?
- Edité par Marie L. (DS) 15 octobre 2022 à 18:09:40
Connaitriez-vous un moyen d'afficher des tableaux de millions de données ? j'en ai besoin au quotidien notamment par le biais de l'INSEE (il y a évidemment des millions de lignes ..)
hors mis Jupyter .. yauraitil plus puissant ? (en open source)
J'ai une autre question, quel moyen technique (plus grand écran ?) avez-vous pour lire 1 million de lignes ? Imaginez le nombre de feuilles A4 qu'il faudrait pour afficher des millions de lignes. Encore une fois je pense que vous ne souhaitez pas afficher mais traiter et peut-être afficher une partie importante d'un ensemble de données.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Dans Jupyter notebook, tu peux juste mettre le nom de ton dataframe pour qu'il s'affiche (c'est un interpréteur)
Il affichera les 1eres et dernières lignes et mettra quelques lignes de ....., si tu les survoles, tu devrais pouvoir voir l'ensemble de la dataframe.
Sinon, comme il est issu d'un fichier csv, tu peux ouvrir ce fichier dans un éditeur de texte ou dans excel (mais si il contient effectivement des millions de lignes, ça va au mieux mettre énormément de temps à s'ouvrir, au pire, planter le logiciel (plus souvent ce cas là à mon avis)
Et traiter des millions de lignes, ça prend du temps.
cela signifie-t-il que le .csv est trop lourd ? mais dans ce cas quel intéret d'avoir une commande pd.set_option("display.max_rows", None, "display.max_columns", None) ?
merci de votre réponse qui aidera je pense, bien du monde
[ NB : si je remplace "pd" par "df" c'est un message d 'erreur ci dessous qui s'affiche
---------------------------------------------------------------------------AttributeError Traceback (most recent call last)
Input In [13], in <cell line: 3>() 1importpandasaspd 2 df=pd.read_csv('EdStatsSeries.csv')
----> 3df.set_option("display.max_rows", None, "display.max_columns", None)
File ~\anaconda3\lib\site-packages\pandas\core\generic.py:5575, in NDFrame.__getattr__(self, name) 5568if (
5569 name notinself._internal_names_set
5570and name notinself._metadata
5571and name notinself._accessors
5572andself._info_axis._can_hold_identifiers_and_holds_name(name)
5573 ):
5574returnself[name]
-> 5575returnobject.__getattribute__(self,name)AttributeError: 'DataFrame' object has no attribute 'set_option'
dans les 2 cas je n'obtiens toujours pas l'affichage de mon dataframe --_--
- Edité par Marie L. (DS) 21 octobre 2022 à 13:37:33
encore une fois, c'est peut-être le kernel qui mouline et il faut patienter mais il faut mettre cette ligne pd.set_option avant ton chargement de csv; et ça ne va rien afficher (sauf erreur de ma part) parce que tu récupères la lecture du csv dans une variable; si tu veux voir son contenu, retape le nom du dataframe sur une nouvelle ligne (ou dans un print)
Question Jupyter notebook : ouverture d'un csv
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)