python?存儲變量的幾種方法(推薦)
1. numpy 自帶方法
numpy.save():數組會以未壓縮的原始二進制格式保存在擴展名為. npy 的文件中。numpy.load():讀取 .npy 文件的數據,直接轉換為 numpy 數組
???<<舉例>>???
>>> import numpy as np
>>> a = np.arange(24).reshape(2,3,4)
>>> a
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
>>> np.save("D:/aa/npp.npy", a)
>>> b = np.load("D:/aa/npp.npy")
>>> b
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])如果報錯 Object arrays cannot be loaded when allow_pickle=False,需要改為如下:
np.load(path, allow_pickle=True)
2. pandas 自帶方法
to_pickle:此方法是將 dataframe 變量數據直接存儲為本地文件,對于文件擴展名沒有要求read_pickle:此方法是將本地存儲的變量讀取并轉為 dataframe 文件
???<<舉例>>???
>>> import pandas as pd >>> import numpy as np >>> df = pd.DataFrame(np.arange(12).reshape(3, 4)) >>> df 0 1 2 3 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 >>> df.columns = ['I', 'II', 'III', 'IV'] >>> df I II III IV 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 >>> df.to_pickle(r"D:/aa/df") >>> dff = pd.read_pickle(r"D:/aa/df") >>> dff I II III IV 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11
3. sklearn 的自帶方法
經測試,保存的文件大小與numpy.save()方法一致。
???<<舉例>>???
注意:新版 sklearn 會報錯,直接 import joblib 即可
參考:(注意下面評論)cannot import name joblib from sklearn.externals(文末見)
from sklearn.externals import joblib
# 保存x
joblib.dump(x, 'x.pkl')
# 加載x
x = joblib.load('x.pkl')新版實現方法
import joblib
# 保存x
joblib.dump(x, 'x.pkl')
# 加載x
x = joblib.load('x.pkl')4. pickle 庫操作
???<<舉例>>???
import pickle # 存儲變量的文件的名字 filename = 'shoplist.data' # 初始化變量 shoplist = ['apple', 'mango', 'carrot'] # 以二進制寫模式打開目標文件 f = open(filename, 'wb') # 將變量存儲到目標文件中區(qū) pickle.dump(shoplist, f) # 關閉文件 f.close() # 刪除變量 del shoplist # 以二進制讀模式打開目標文件 f = open(filename, 'rb') # 將文件中的變量加載到當前工作區(qū) storedlist = pickle.load(f) print(storedlist)
cannot import name joblib from sklearn.externals
使用scikit-learn跑一個兩年前的案例, 報錯:cannot import name ‘joblib’ from ‘sklearn.externals’
原因: scikit-learn版本太新了,
解決方法一: 直接使用import joblib
感謝高贊評論的回答
解決方法二: 回退版本
刪除當前版本的scikit-learn pip uninstall scikit-learn
安裝舊版本的scikit-learn pip install scikit-learn==0.20.3
到此這篇關于python 存儲變量的幾種方法的文章就介紹到這了,更多相關python 存儲變量內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

