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


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

Самый простой способ сделать это — использовать to_pickle() для сохранения DataFrame как файла рассола:

 df. to_pickle (" my_data.pkl ")

Это сохранит DataFrame в вашей текущей рабочей среде.

Затем вы можете использовать read_pickle() для быстрого чтения DataFrame из файла рассола:

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

В следующем примере показано, как использовать эти функции на практике.

Пример: сохраните и загрузите DataFrame 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 теперь сохранен как файл рассола в нашей текущей рабочей среде.

Затем мы можем использовать функцию 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: невозможно преобразовать число с плавающей запятой NaN в int.
Как исправить: ValueError: операнды не могут быть переданы с помощью фигур.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *