1
votes

Créer un nouveau df avec une boucle for dans Pandas


0 commentaires

3 Réponses :


0
votes

La bonne méthode est décrite ici. La boucle, même si elle ne contenait pas d'erreurs de syntaxe, serait très très lente.


0 commentaires

1
votes

Voici un moyen de le faire:

(original dataframe)
     Datan
0        x
1  TRANS y
2        z
3  TRANS u
4        v
5  TRANS w

(new dataframe)
     Datan
1  TRANS y
3  TRANS u
5  TRANS w

Résultats:

df = pd.DataFrame({"Datan": ["x", "TRANS y", "z", "TRANS u", "v", "TRANS w"]})
print(df)

new_df = df[df.Datan.str.contains("TRANS")]
print(new_df)


0 commentaires

0
votes

Vous n'avez pas besoin de faire une boucle sur le dataframe, vous pouvez obtenir le dataframe de résultat facilement avec ceci:

      Datan
5     #TRANS232
12    #TRANS455
20    #TRANS3144
104   #TRANS1234
500   #TRANS213

Ainsi vous obtiendrez le dataframe nécessaire comme ceci:

df_transOnly= df_Grundinladdning[df_Grundinladdning["Datan"].str.contains('#TRANS')]
df_transOnly #for printing df


0 commentaires