Indexer plusieurs fichiers CSV avec des Pandas à partir des enregistrements?
-
29-10-2019 - |
Question
J'ai une liste de fichiers CSV ("file1", "file2", ..."
) qui ont deux colonnes mais n'ont pas d'étiquettes d'en-tête. Je voudrais leur attribuer des étiquettes d'en-tête et elles comme un DataFrame
qui est indexé par le fichier puis indexé par ces étiquettes de colonnes. Par exemple, j'ai essayé:
import pandas
mydict = {}
labels = ["col1", "col2"]
for myfile in ["file1", "file2"]:
my_df = pandas.read_table(myfile, names=labels)
# build dictionary of dataframe records
mydict[myfile] = my_df
test = pandas.DataFrame(mydict)
Cela produit un dataframe, test, indexé par "myfile1", "myfile2"...
Cependant, j'aimerais que chacun d'eux soit indexé par "col1"
et "col2"
aussi bien. Mes questions sont:
Comment puis-je le faire pour que le premier index soit le fichier, et le deuxième index est les colonnes que j'ai attribuées (dans la variable
labels
)? Pour que je puisse écrire:test["myfile1"]["col1"]
à l'heure actuelle, test["myfile1"]
Me donne seulement une série de disques.
Aussi, comment puis-je alors réindexer les choses afin que les premiers indices soient les étiquettes de colonne de chaque fichier et le second est le nom de fichier? Pour que je puisse écrire:
test["col1"]["myfile1"]
ou print test["col1"]
puis voir la valeur de "col1"
montré pour myfile1, myfile2
, etc.
Pas de solution correcte