Вы можете использовать следующий базовый синтаксис для разделения кадра данных pandas на несколько кадров данных на основе номера строки:
#split DataFrame into two DataFrames at row 6
df1 = df.iloc [:6]
df2 = df.iloc [6:]
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: разделить Pandas DataFrame на два DataFrames
Следующий код показывает, как разделить один кадр данных pandas на два кадра данных:
import pandas as pd
#create DataFrame
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)
x y
0 1 5
1 1 7
2 1 7
3 3 9
4 3 12
5 4 9
print(df2)
x y
6 5 9
7 5 4
8 5 3
9 6 3
10 7 1
11 9 10
Обратите внимание, что df1 содержит первые шесть строк исходного DataFrame, а df2 содержит последние шесть строк исходного DataFrame.
Пример 2: Разделение Pandas DataFrame на несколько DataFrames
Следующий код показывает, как разделить pandas
import pandas as pd
#create DataFrame
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)
x y
0 1 5
1 1 7
2 1 7
print(df2)
x y
3 3 9
4 3 12
5 4 9
print(df3)
x y
6 5 9
7 5 4
8 5 3
9 6 3
10 7 1
11 9 10
В этом примере мы решили разделить один DataFrame на три DataFrames, но, используя этот синтаксис, мы можем разделить DataFrame pandas на любое количество DataFrames, которое нам нужно.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в pandas:
Как добавить два кадра данных Pandas
Как удалить столбцы в Pandas DataFrame
Как выбрать уникальные строки в Pandas DataFrame