DF4LOOP prend en charge les processus à usage général qui nécessitent une combinaison de pandas.dataframe et de boucle. Plus précisément, la mission de DF4loop est de "accélérer le traitement" et de "rendre le code complexe intuitif" à de faibles coûts d'installation.
pip install df4loopLe DataFrame suivant est défini pour aider les utilisateurs à envisager l'utilisation de DF4LOOP.
import pandas as pd
sample_dict = {
"column_1" : [ 100 , 200 , 300 , 400 , 500 ],
"column_2" : [ "A" , "B" , "C" , "D" , "E" ],
"column_3" : [ "a" , "b" , "c" , "d" , "e" ],
}
df = pd . DataFrame . from_dict ( sample_dict )
df| Column_1 | colonnel_2 | Column_3 | |
|---|---|---|---|
| 0 | 100 | UN | un |
| 1 | 200 | B | b |
| 2 | 300 | C | c |
| 3 | 400 | D | d |
| 4 | 500 | E | e |
Dfiterator aide les développeurs à rédiger le code suivant. Ceci est un code écrit à l'aide de pandas.dataframe.iterows dans le but de référencer une valeur par ligne.
for index , row in df . iterrows ():
tmp = row [ "column_1" ]Dfiterator reproduit ce processus et l'accélére. En fait, DataFrame et sa ligne Pandas.Series sont convertis en listes et dictionnaires pour accélérer. Cependant, l'utilisation est presque la même.
from df4loop import DFIterator
df_iterator = DFIterator ( df )
for index , row in df_iterator . iterrows ():
tmp = row [ "column_1" ] Si vous n'avez pas besoin de sortir l'index, définissez return_indexes=False .
from df4loop import DFIterator
df_iterator = DFIterator ( df )
for row in df_iterator . iterrows ( return_indexes = False ):
tmp = row [ "column_1" ]DFGenerator prend en charge la génération de DataFrame avec des lignes définies par boucles. L'ajout de lignes à DataFrame dans une boucle prendra beaucoup de temps à traiter. Le secret pour accélérer est d'organiser des lignes dans une liste ou un dictionnaire, puis de les faire pandas.dataframe à la fois. DFGenerator prend en charge ce processus d'implémentation intuitive.
Le code suivant est un exemple de sélection du type de dict comme ligne.
from df4loop import DFGenerator
# It is not necessary to specify columns.
df_generator = DFGenerator ( columns = df . columns . values . tolist ())
for _ , row in df . iterrows ():
tmp_row = {
"column_1" : row [ "column_1" ],
"column_2" : row [ "column_2" ],
"column_3" : row [ "column_3" ],
}
df_generator . append ( tmp_row )
new_df = df_generator . generate_df ()Le code suivant est un exemple de sélection du type de liste comme ligne. Les colonnes doivent être spécifiées lors de l'initialisation.
from df4loop import DFGenerator
df_generator = DFGenerator ( columns = df . columns . values . tolist ())
for _ , row in df . iterrows ():
tmp_row = [
row [ "column_1" ],
row [ "column_2" ],
row [ "column_3" ],
]
df_generator . append ( tmp_row )
new_df = df_generator . generate_df ()