Como dividir um dataframe do pandas em vários dataframes
Você pode usar a seguinte sintaxe básica para dividir um DataFrame do pandas em vários DataFrames com base no número da linha:
#split DataFrame into two DataFrames at row 6 df1 = df. iloc [:6] df2 = df. iloc [6:]
Os exemplos a seguir mostram como usar essa sintaxe na prática.
Exemplo 1: Divida o DataFrame do Pandas em dois DataFrames
O código a seguir mostra como dividir um DataFrame do pandas em dois DataFrames:
import pandas as pd #createDataFrame df = pd. DataFrame ({' x ': [1, 1, 1, 3, 3, 4, 5, 5, 5, 6, 7, 9], ' y ': [5, 7, 7, 9, 12, 9, 9, 4, 3, 3, 1, 10]}) #view DataFrame df x y 0 1 5 1 1 7 2 1 7 3 3 9 4 3 12 5 4 9 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10 #split original DataFrame into two DataFrames df1 = df. iloc [:6] df2 = df. iloc [6:] #view resulting DataFrames print (df1) xy 0 1 5 1 1 7 2 1 7 3 3 9 4 3 12 5 4 9 print (df2) xy 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10
Observe que df1 contém as primeiras seis linhas do DataFrame original e df2 contém as últimas seis linhas do DataFrame original.
Exemplo 2: Divida o DataFrame do Pandas em vários DataFrames
O código a seguir mostra como dividir um pandas
import pandas as pd #createDataFrame df = pd. DataFrame ({' x ': [1, 1, 1, 3, 3, 4, 5, 5, 5, 6, 7, 9], ' y ': [5, 7, 7, 9, 12, 9, 9, 4, 3, 3, 1, 10]}) #split into three DataFrames df1 = df. iloc [:3] df2 = df. iloc [3:6] df3 = df. iloc [6:] #view resulting DataFrames print (df1) xy 0 1 5 1 1 7 2 1 7 print (df2) xy 3 3 9 4 3 12 5 4 9 print (df3) xy 6 5 9 7 5 4 8 5 3 9 6 3 10 7 1 11 9 10
Neste exemplo, optamos por dividir um DataFrame em três DataFrames, mas usando esta sintaxe podemos dividir um DataFrame do pandas em qualquer número de DataFrames que desejarmos.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras funções comuns em pandas:
Como adicionar dois DataFrames Pandas
Como excluir colunas no Pandas DataFrame
Como selecionar linhas únicas em um DataFrame do Pandas