web-dev-qa-db-fra.com

Comment convertir une liste en ligne dataframe avec Pandas

J'ai une liste d'articles comme ceci:

A = ['1', 'd', 'p', 'bab', '']

Mon objectif est de convertir une telle liste en une base de données de 1 ligne et 5 colonnes. Si je tape pd.DataFrame(A), j'obtiens 5 lignes et 1 colonne. Que dois-je faire pour obtenir le résultat souhaité?

22
Federico Gentile

Vous pouvez utiliser:

df = pd.DataFrame([A])
print (df)
   0  1  2    3 4
0  1  d  p  bab  

Si toutes les valeurs sont des chaînes:

df = pd.DataFrame(np.array(A).reshape(-1,len(A)))
print (df)

   0  1  2    3 4
0  1  d  p  bab  

Merci AKS :

df = pd.DataFrame(A).T
print (df)
   0  1  2    3 4
0  1  d  p  bab  
28
jezrael

Ceci est un peu périphérique à votre problème, mais j’ai pensé que je le posterais au cas où cela aiderait quelqu'un d’autre.

Pour convertir une liste de listes (et attribuer un nom à chaque colonne), il suffit de passer la liste à l'attribut de données (avec les noms de colonne souhaités) lors de l'instanciation du nouveau cadre de données, comme suit:

my_python_list = [['foo1', 'bar1'],
                  ['foo2', 'bar2']]
new_df = pd.DataFrame(columns=['my_column_name_1', 'my_column_name_2'], data=my_python_list)

résultat:

  my_column_name_1 my_column_name_2
0             foo1             bar1
1             foo2             bar2
11
Tom Chapin