Python Pandas: içindeki CSV dosyalarının yalnızca ilk n satırı nasıl okunur?


94

Çok büyük bir veri setim var ve tüm veri setini okuyacak param yok. Bu yüzden, eğitmek için sadece bir kısmını okumayı düşünüyorum ama nasıl yapılacağı hakkında hiçbir fikrim yok. Herhangi bir düşünce takdir edilecektir.

Yanıtlar:


162

Yalnızca ilk 999.999 (başlıksız) satırı okumak istiyorsanız:

read_csv(..., nrows=999999)

Yalnızca 1.000.000 ... 1.999.999 satırları okumak istiyorsanız

read_csv(..., skiprows=1000000, nrows=999999)

nrows : int, varsayılan Yok Okunacak dosya satırı sayısı. Büyük dosyaların parçalarını okumak için kullanışlıdır *

atlama satırları : liste benzeri veya tamsayı Atlanacak satır numaraları (0-dizinli) veya dosyanın başlangıcında atlanacak satır sayısı (int)

ve büyük dosyalar için muhtemelen chunksize kullanmak isteyeceksiniz:

chunksize : int, varsayılan Yok Yineleme için TextFileReader nesnesini döndür

pandas.io.parsers.read_csv belgeleri


Sorun değil, biraz gizlenmişler. Doktor bu örneklerle yapabilirdi. chunksizebiraz acı, eşit olmayan büyüklükteki parçalarla uğraşmak zorundasın. Ayrıca dizilerinizi / veri çerçevelerinizi, ihtiyaç duyacağınızı bildiğiniz sabit boyutta önceden tahsis edin, kaçınabildiğiniz zaman dinamik olarak birleştirmeyin / eklemeyin.
smci

... ve ayrıca, arayüz gibi değil nstart=,nend=.... Aritmetik skiprows = nend - nrows
yapmalısınız

1
Sanırım bu az önce LIMIT nstart, skiprows
SQL'den devralındı

... ve kullanıyorsanız hatasız hataları da unutmayınheader=n/list
smci
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.