Як розділити pandas dataframe на кілька dataframe


Ви можете використовувати наступний базовий синтаксис, щоб розділити pandas DataFrame на кілька DataFrame на основі номера рядка:

 #split DataFrame into two DataFrames at row 6
df1 = df. iloc [:6]
df2 = df. iloc [6:]

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад 1: Розділіть Pandas DataFrame на два DataFrame

Наступний код показує, як розділити pandas DataFrame на два DataFrame:

 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

Зверніть увагу, що df1 містить перші шість рядків оригінального DataFrame, а df2 містить останні шість рядків оригінального DataFrame.

Приклад 2: розділіть Pandas DataFrame на кілька DataFrame

Наступний код показує, як розділити 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

У цьому прикладі ми вирішили розділити DataFrame на три DataFrame, але використовуючи цей синтаксис, ми можемо розділити pandas DataFrame на будь-яку кількість DataFrame.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові функції в pandas:

Як додати два Pandas DataFrames
Як видалити стовпці в Pandas DataFrame
Як вибрати окремі рядки в Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *