J'essaie de remplir une trame de données pandas avec une chaîne du tableau numpy

t = zeros((10, 3))

v = pd.DataFrame(index=range(10), columns=['a', 'b','c'])

Disons que les colonnes 'a' et 'b' sont des flottants et que la colonne 'c' doit être une chaîne

t[i] = fun(x)

v.iloc[i, 0:3] = t[0, 0], t[0, 1], t[0, 2]

# t[0, 0], t[0, 1] are floats and t[0, 2] is a string.

J'essaie de le faire dans une boucle for, mais j'obtiens l'erreur suivante :

ValueError: could not convert string to float
0
cc88 13 nov. 2020 à 05:34

1 réponse

Meilleure réponse

Le commentaire de @yulGM est la réponse. Le problème est que le tableau numpy doit avoir tous les éléments du même type, j'ai donc simplement créé un deuxième tableau uniquement pour les chaînes. Cela peut également être résolu avec des dictionnaires et d'autres manières.

0
cc88 21 nov. 2020 à 08:07