【问题标题】:pandas: read a small random sample from big CSV, according to sampling policy [closed]pandas:根据采样策略从大 CSV 中读取一个小的随机样本 [关闭]
【发布时间】:2015-12-31 17:04:09
【问题描述】:

Read a small random sample from a big CSV file into a Python data frame非常相关。

我有一个非常大的 csv,其中包含 patient_id,visit_data 列。我想从中读取一个小样本,但是如果我对一个患者进行采样,我想对他的所有记录进行采样。

【问题讨论】:

    标签: python csv pandas random


    【解决方案1】:

    如果您想继续使用.csv,您可以分块读取文件,沿着以下行从每个块中选择并连接相关行(see docs)

    patient_id = id
    patient = pd.DataFrame()
    for chunk in pd.read_csv(filename, chunksize=chunksize):
        patient = pd.concat([patient, chunk[chunk.patient_id==id])
    

    但是,我建议通过pandas 查看HDF5 storage,因为这允许您通过对索引数据的查询进行选择,而不是遍历文件。当然还有各种基于sql的选项(see basic example)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多