পাইথন পান্ডাস: সিএসভি ফাইলের প্রথম এন সারিটি কীভাবে পড়বেন?


93

আমার একটি খুব বড় ডেটা সেট রয়েছে এবং আমি সম্পূর্ণ ডেটা সেট করা পড়ার সামর্থ্য রাখি না So সুতরাং, আমি প্রশিক্ষণের জন্য এর কেবলমাত্র একটি অংশ পড়ার চিন্তা করছি তবে কীভাবে এটি করবেন সে সম্পর্কে আমার কোনও ধারণা নেই। কোন চিন্তা প্রশংসা করা হবে।

উত্তর:


160

আপনি যদি কেবল প্রথম 999,999 (শিরোনামহীন) সারিটি পড়তে চান:

read_csv(..., nrows=999999)

আপনি যদি কেবল সারিগুলি 1,000,000 ... 1,999,999 টি পড়তে চান তবে

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

নরোস : ইনট, ডিফল্ট কিছুই নেই ফাইলের সারি সংখ্যা পড়ার জন্য। বড় ফাইলের টুকরো পড়ার জন্য দরকারী

স্কিপ্রো : তালিকার মতো বা পূর্ণসংখ্যার সারি সংখ্যা (0-ইনডেক্সড) বা সারিগুলি (এন্টি) এড়ানোর জন্য

এবং বড় ফাইলগুলির জন্য, আপনি সম্ভবত চুনসাইজ ব্যবহার করতে চান:

খণ্ডসাইজ : ইনট, ডিফল্ট কিছুই নেই পুনরাবৃত্তির জন্য টেক্সটফিলরেডার অবজেক্ট

pandas.io.parsers.read_csv ডকুমেন্টেশন


ঠিক আছে, তারা কিছুটা লুকিয়ে আছে। এই উদাহরণগুলির সাথে ডকটি করতে পারে। chunksizeকিছুটা ব্যথা, আপনাকে অসম আকারের খণ্ডগুলি মোকাবেলা করতে হবে। আপনার অ্যারে / ডেটাফ্রেমগুলি আপনার প্রয়োজনীয় স্থির আকারের সাথে প্রিলোকলোক করুন, যখনই আপনি এড়াতে পারবেন তখন গতিশীলভাবে সংক্ষিপ্ত / সংযোজন করবেন না।
smci

... এবং এটিও ইন্টারফেসের মতো নয় nstart=,nend=...। আপনাকে পাটিগণিতটি করতে হবেskiprows = nend - nrows
স্মি

4
আমি যে এর ঠিক এসকিউএল থেকে অধিগৃহীত অনুমান: LIMIT nstart, skiprows: /
FOOBAR

... এবং যদি header=n/list
আপনিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.