Daha sonra kullanmak üzere pandas dataframe nasıl kaydedilir (örnekle)
Çoğu zaman, verileri bir CSV dosyasından yeniden içe aktarmak zorunda kalmadan daha sonra kullanmak üzere pandas DataFrame’i kaydetmek isteyebilirsiniz.
Bunu yapmanın en kolay yolu, DataFrame’i bir turşu dosyası olarak kaydetmek için to_pickle() işlevini kullanmaktır:
df. to_pickle (" my_data.pkl ")
Bu, DataFrame’i mevcut çalışma ortamınıza kaydedecektir.
Daha sonra DataFrame’i turşu dosyasından hızlı bir şekilde okumak için read_pickle() komutunu kullanabilirsiniz:
df = pd. read_pickle (" my_data.pkl ")
Aşağıdaki örnekte bu fonksiyonların pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: Pandas DataFrame’i kaydedin ve yükleyin
Çeşitli basketbol takımları hakkında bilgi içeren aşağıdaki pandalar DataFrame’i oluşturduğumuzu varsayalım:
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
DataFrame’deki her değişkenin veri türünü görüntülemek için df.info() işlevini kullanabiliriz:
#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
Bu DataFrame’i .pkl uzantılı bir pickle dosyasına kaydetmek için to_pickle() işlevini kullanabiliriz:
#save DataFrame to pickle file
df. to_pickle (" my_data.pkl ")
DataFrame’imiz artık mevcut çalışma ortamımızda turşu dosyası olarak kaydediliyor.
Daha sonra DataFrame’i hızlı bir şekilde okumak için read_pickle() işlevini kullanabiliriz:
#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
Her sütunun veri türünün öncekiyle aynı olduğunu doğrulamak için df.info() işlevini tekrar kullanabiliriz:
#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 dosyalarını kullanmanın avantajı, DataFrame’i kaydettiğimizde ve yüklediğimizde her sütunun veri türünün korunmasıdır.
Bu, CSV dosyalarını kaydetmeye ve yüklemeye göre bir avantaj sağlar çünkü seçme dosyası DataFrame’in orijinal durumunu koruduğu için DataFrame üzerinde herhangi bir dönüşüm yapmamıza gerek yoktur.
Ek kaynaklar
Aşağıdaki eğitimlerde Python’daki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:
Pandas’ta KeyError Nasıl Düzeltilir
Nasıl düzeltilir? ValueError: float NaN int’ye dönüştürülemiyor
Nasıl düzeltilir? ValueError: İşlenenler şekillerle yayınlanamadı