【发布时间】: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 列。我想从中读取一个小样本,但是如果我对一个患者进行采样,我想对他的所有记录进行采样。
【问题讨论】:
与Read a small random sample from a big CSV file into a Python data frame非常相关。
我有一个非常大的 csv,其中包含 patient_id,visit_data 列。我想从中读取一个小样本,但是如果我对一个患者进行采样,我想对他的所有记录进行采样。
【问题讨论】:
如果您想继续使用.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)
【讨论】: