pandas批量讀取csv文件--按行索引讀取


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大小的輸入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM