我正在阅读一个包含约9.5百万行x 16列的大文件。
我希望检索一个代表性样本,并且由于数据按时间组织,所以我想通过选择每500个元素来实现这一点。
我能够加载数据,然后选择每500行。
我的问题是:我能否立即读取每500个元素(使用.pd.read_csv()或其他方法),而无需先读取数据,然后再进行筛选?
问题2:如果日期列未排序,您将如何解决此问题?目前,我假设它按日期排序,但所有数据都容易出错。
以下是数据的一部分示例(前五行)。前4行是无序的,但剩余的数据集看起来是有序的(按时间排序):
VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count trip_distance RatecodeID store_and_fwd_flag PULocationID DOLocationID payment_type fare_amount extra mta_tax tip_amount tolls_amount improvement_surcharge total_amount
0 1 2017-01-09 11:13:28 2017-01-09 11:25:45 1 3.30 1 N 263 161 1 12.5 0.0 0.5 2.00 0.00 0.3 15.30
1 1 2017-01-09 11:32:27 2017-01-09 11:36:01 1 0.90 1 N 186 234 1 5.0 0.0 0.5 1.45 0.00 0.3 7.25
2 1 2017-01-09 11:38:20 2017-01-09 11:42:05 1 1.10 1 N 164 161 1 5.5 0.0 0.5 1.00 0.00 0.3 7.30
3 1 2017-01-09 11:52:13 2017-01-09 11:57:36 1 1.10 1 N 236 75 1 6.0 0.0 0.5 1.70 0.00 0.3 8.50
4 2 2017-01-01 00:00:00 2017-01-01 00:00:00 1 0.02 2 N 249 234 2 52.0 0.0 0.5 0.00 0.00 0.3 52.80
skiprows
参数会很方便。 - grshankarpd.read_csv(..., skiprows=lambda i: i % n)
- william_grisaitis