J'ai deux listes, telles que:
list_values = [11,22,33,44,55,66,77,88,99,100, 111, 222]
et une liste de valeurs
list_columns = ['a','b','c','d','e','f','g','h','k','l','m','n']
Je souhaite créer un dataframe Pandas en utilisant list_columns as columns final.
J'ai essayé avec df = pd.DataFrame (list_values, columns = list_columns)
mais cela ne fonctionne pas
J'obtiens cette erreur: ValueError: La forme des valeurs passées est (1, 12), les indices impliquent (12, 12)
3 Réponses :
Si je comprends bien votre question, placez simplement list_values entre crochets, c'est donc une liste de listes
list_columns = ['a','b','c','d','e','f','g','h','k','l','m','n']
list_values = [[11,22,33,44,55,66,77,88,99,100, 111, 222]]
pd.DataFrame(list_values, columns=list_columns)
a b c d e f g h k l m n
0 11 22 33 44 55 66 77 88 99 100 111 222
Un dataframe est un objet bidimensionnel. Pour refléter cela, vous devez alimenter une liste imbriquée. Chaque sous-liste, dans ce cas la sous-liste uniquement , représente une ligne.
df = pd.DataFrame([list_values], columns=list_columns, index=[0, 1, 2]) print(df) # a b c d e f g h k l m n # 0 11 22 33 44 55 66 77 88 99 100 111 222 # 1 11 22 33 44 55 66 77 88 99 100 111 222 # 2 11 22 33 44 55 66 77 88 99 100 111 222
Si vous fournissez un index d'une longueur supérieure à 1, Pandas diffuse pour vous: p>
df = pd.DataFrame([list_values], columns=list_columns) print(df) # a b c d e f g h k l m n # 0 11 22 33 44 55 66 77 88 99 100 111 222
Génial, c'est exactement ce que j'essayais de réaliser
dans votre liste, vous pouvez faire comme ci-dessous:
df = pd.DataFrame(list_values)
df=df.T
df.columns=list_columns
>>df
a b c d e f g h k l m n
0 11 22 33 44 55 66 77 88 99 100 111 222
Que voulez-vous dire
list_values en tant que colonnes? Veuillez être plus précis sur le résultat attendu.list_columns comme colonnes. Je viens de le modifier