从熊猫网站读取大型数据集仅返回1.000行?

时间:2019-04-06 08:40:19

标签: python pandas

我正在尝试通过处理开放的NY Taxi数据来提高自己的熊猫技术。

我想直接从网站上大块获取数据,并仅过滤那些发生在2017年3月的行。当我由于某种我不理解的原因尝试这样做时,仅下载了1.000行。 pd.read_csv()似乎没有下载整个文件。似乎只处理了文件的前1.000行。

如何处理整个文件?

我已经阅读了如何使用pd.read_csv()来分块下载数据,然后对其进行迭代。我玩过chunksize,但无济于事。我仍然只能得到约1.000行。

chunk_list = []

for chunk in pd.read_csv("https://data.cityofnewyork.us/resource/biws-g3hs.csv", chunksize=100000):

    chunk["tpep_pickup_datetime"] =pd.to_datetime(chunk["tpep_pickup_datetime"], format='%Y-%m-%d')
    chunk["tpep_dropoff_datetime"]=pd.to_datetime(chunk["tpep_dropoff_datetime"], format='%Y-%m-%d')
    chunk_filter=chunk[(chunk["tpep_pickup_datetime"]>="2017-03-01")&(chunk["tpep_pickup_datetime"]<"2017-04-01")]

    # Once the data filtering is done, append the chunk to list
    chunk_list.append(chunk_filter)

df_concat = pd.concat(chunk_list,ignore_index=True)       

df_concat.info()

我希望使用100m +行访问整个csv文件。当我在结果上使用df_concat.info()时,我只会得到1.000行:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 17 columns):
dolocationid             1000 non-null int64
extra                    1000 non-null float64
fare_amount              1000 non-null float64
improvement_surcharge    1000 non-null float64
mta_tax                  1000 non-null float64
passenger_count          1000 non-null int64
payment_type             1000 non-null int64
pulocationid             1000 non-null int64
ratecodeid               1000 non-null int64
store_and_fwd_flag       1000 non-null object
tip_amount               1000 non-null float64
tolls_amount             1000 non-null float64
total_amount             1000 non-null float64
tpep_dropoff_datetime    1000 non-null datetime64[ns]
tpep_pickup_datetime     1000 non-null datetime64[ns]
trip_distance            1000 non-null float64
vendorid                 1000 non-null int64
dtypes: datetime64[ns](2), float64(8), int64(6), object(1)
memory usage: 132.9+ KB

我必须在哪里调整代码以处理所有行?

谢谢!

1 个答案:

答案 0 :(得分:0)

问题不在于阅读。但是关于来源。

您可以手动下载并读取文件本身(“ https://data.cityofnewyork.us/resource/biws-g3hs.csv”),它只有1000行

您应该改用此链接:

pd.read_csv("https://data.cityofnewyork.us/api/views/biws-g3hs/rows.csv?accessType=DOWNLOAD", chunksize=100000)

或者最好将其下载为本地解析