Diviser un DataFrame en fonction de la valeur de la colonne dans Pandas
Souvent, dans l'analyse des données, nous rencontrons des situations où nous devons diviser un DataFrame en plusieurs DataFrames basés sur une valeur de colonne spécifique. Un tel cas est celui où nous souhaitons diviser un DataFrame en deux parties : une contenant des lignes avec des valeurs inférieures à un certain seuil et une autre contenant des lignes avec des valeurs supérieures ou égales à ce seuil.
Dans Pandas, nous pouvons accomplir cela. divisé en utilisant l'indexation booléenne. Voici comment réaliser cette répartition avec un exemple :
Considérez le DataFrame suivant avec une colonne nommée « Ventes » :
df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]}) print (df) A Sales 0 3 10 1 4 20 2 7 30 3 6 40 4 1 50
Supposons que nous souhaitions diviser ce DataFrame en deux sur la base d'une valeur de ventes de 30 :
Scission avec comparaison directe :
Le la méthode la plus simple consiste à utiliser une comparaison directe avec l'opérateur d'indexation booléen '>=' :
s = 30
df1 = df[df['Sales'] >= s]
print (df1)
A Sales
2 7 30
3 6 40
4 1 50
Cela crée un nouveau DataFrame appelé df1 qui contient toutes les lignes où la valeur Sales est supérieure ou égale à 30.
Splitting with Inverse Mask :
Pour créer un DataFrame avec des lignes où Sales est inférieur à 30, nous pouvons inverser le masque en utilisant ~:
df2 = df[~mask]
print (df2)
A Sales
0 3 10
1 4 20
Cela crée un nouveau DataFrame appelé df2 qui contient toutes les lignes où la valeur Sales est inférieure à 30.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3