pandas和fit_generator配合使用時,不想將數據全部讀入內存,因為實際上也讀入不了,數據量太大了。以下是如何按batch_size大小讀取:
1、准備數據:
1 a = pd.DataFrame(a) 2 a = [ 3 [1, 1, 1, 1], 4 [2, 2, 2, 2], 5 [3, 3, 3, 3], 6 [4, 4, 4, 4], 7 [5, 5, 5, 5], 8 [6, 6, 6, 6], 9 ] 10 a = pd.DataFrame(a) 11 a.to_csv("../a.csv", index=False)
2、讀入原始數據:
1 pd.read_csv("../a.csv")
輸出: 2 0 1 2 3 3 0 1 1 1 1 4 1 2 2 2 2 5 2 3 3 3 3 6 3 4 4 4 4 7 4 5 5 5 5 8 5 6 6 6 6
3、讀取前幾行:
1 pd.read_csv("../a.csv", nrows=2)
輸出: 2 0 1 2 3 3 0 1 1 1 1 4 1 2 2 2 2
4、跳過某些行,或跳過前多少行:
1 pd.read_csv("../a.csv", skiprows=1, nrows=2)
輸出: 2 1 1.1 1.2 1.3 3 0 2 2 2 2 4 1 3 3 3 3 5 pd.read_csv("../a.csv", skiprows=lambda x: x % 2 != 0)
輸出: 6 0 1 2 3 7 0 2 2 2 2 8 1 4 4 4 4 9 2 6 6 6 6
通過skiprows指定跳過多少行,nrows參數取前多少行就可以實現batch_size大小的輸入。
