Як зберегти pandas dataframe для подальшого використання (з прикладом)


Часто ви можете зберегти pandas DataFrame для подальшого використання без необхідності повторно імпортувати дані з файлу CSV.

Найпростіший спосіб зробити це — використати to_pickle() , щоб зберегти DataFrame як файл pickle:

 df. to_pickle (" my_data.pkl ")

Це збереже DataFrame у поточному робочому середовищі.

Потім ви можете використовувати read_pickle() , щоб швидко прочитати DataFrame з файлу pickle:

 df = pd. read_pickle (" my_data.pkl ")

У наступному прикладі показано, як використовувати ці функції на практиці.

Приклад: збережіть і завантажте Pandas DataFrame

Припустімо, ми створюємо такий фрейм даних pandas, який містить інформацію про різні баскетбольні команди:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Ми можемо використовувати df.info() для відображення типу даних кожної змінної в DataFrame:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

Ми можемо використати функцію to_pickle() , щоб зберегти цей DataFrame у файл pickle із розширенням .pkl :

 #save DataFrame to pickle file
df. to_pickle (" my_data.pkl ")

Наш DataFrame тепер збережено як файл pickle у нашому поточному робочому середовищі.

Потім ми можемо використати функцію read_pickle() , щоб швидко прочитати DataFrame:

 #read DataFrame from pickle file
df=pd. read_pickle (" my_data.pkl ")

#view DataFrame
print (df)

team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Ми можемо знову використати df.info() , щоб підтвердити, що тип даних кожного стовпця такий самий, як і раніше:

 #view DataFrame info
print ( df.info ())

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
 # Column Non-Null Count Dtype 
--- ------ -------------- ----- 
 0 team 8 non-null object
 1 point 8 non-null int64 
 2 assists 8 non-null int64 
 3 rebounds 8 non-null int64 
dtypes: int64(3), object(1)
memory usage: 292.0+ bytes
None

Перевага використання файлів pickle полягає в тому, що тип даних кожного стовпця зберігається, коли ми зберігаємо та завантажуємо DataFrame.

Це дає перевагу перед збереженням і завантаженням файлів CSV, оскільки нам не потрібно виконувати жодних перетворень у DataFrame, оскільки файл pickle зберігає вихідний стан DataFrame.

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

У наступних посібниках пояснюється, як виправити інші типові помилки в Python:

Як виправити KeyError у Pandas
Як виправити: ValueError: неможливо перетворити float NaN на int
Як виправити: ValueError: операнди не можна транслювати з фігурами

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

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