使用熊猫过滤CSV文件

时间:2019-09-15 21:14:16

标签: python pandas

我有一个CSV文件,其中每一行都包含有关特定患者的一些数据,并且单个患者可以有与其相关的多行。

文件本身包含数千个患者记录,我要做的是从文件中随机选择100位患者,然后获取与它们相关的所有记录,然后将它们保存到另一个CSV文件中。

因此,该文件可能类似于:

patient_id   Date          Diagnosis   Comments
001-001      23.12.2008    Normal      Normal
001-001      23.12.2009    Normal      Normal
001-002      08.11.2007    Normal      Normal
001-003
....

因此,我可以将文件加载为:

frame = pd.read_csv('file.csv')
# Get the unique subjects
unique_subjects = frame['patient_id'].unique()
# Use numpy to randomly select some patients
random_us = np.random.choice(unique_subjects, 100)

然后我可以加载CSV,然后逐行检查并选择要写回CSV文件的行。

我觉得pandas可能会提供更直接的信息,我想知道是否有一种方法可以将所有这些操作用管道传输。

1 个答案:

答案 0 :(得分:1)

您可以使用isin过滤所需的ID:

random_records = frame[frame['patient_id'].isnin(random_us)]