0
votes

Pandas Dataframe, diviser une colonne ayant plusieurs valeurs en plusieurs colonnes et supprimer des valeurs nulles

J'ai un Dataframe, dont une colonne particulière contient des valeurs de température indiquées ci-dessous xxx pré>

J'essaie de créer une nouvelle colonne séparant des températures minimales et maximales. Dans les rangées remplies de 'Nan', je veux les valeurs après "," aussi "Nan". Comment devrais-je faire ça? J'ai essayé le code ci-dessous mais cela n'a pas fonctionné. P> xxx pré>

Chaque fois que j'exécute le code ci-dessus, j'obtiens l'erreur suivante P>

IndexError: list index out of range


1 commentaires

Veuillez fournir tout le message d'erreur, ainsi qu'un exemple de reproductible minimal . Qu'entendez-vous par Je veux que les valeurs après «,« Nan »?


3 Réponses :


1
votes

Essayez: xxx

str.split () sera divisé en chaîne par délimiteur fourni - - dans ce cas. Ensuite, Développer explosera une matrice écatée, de sorte que chaque élément entrera dans une colonne séparée. Ensuite, n = 1 limitera max scissions à 1 (sinon, vous obtiendrez une erreur, au cas où si vous auriez plus d'un trait d'union dans n'importe quelle cellule).


0 commentaires

1
votes

Vous pouvez utiliser extraire pour obtenir les deux: xxx

sortie: xxx


0 commentaires

0
votes

Pour corriger directement votre code, essayez

train["Maximum Temperature"] = train["Cellar Temperature"].apply(lambda x: np.nan if pd.isnull(x) else x.split("-")[1])


0 commentaires