使用pandas读取csv中的特定单元格

时间:2015-08-04 15:58:53

标签: python csv pandas

我有一个如下所示的CSV文件:

patient_id, age_in_years,   CENSUS_REGION,  URBAN_RURAL_STATUS

11511,  7   Northeast,  Urban,

9882613,    73, South,  Urban,

32190339,   49, West,   Urban,

32190339,   49, West,   Urban,

32190339,   49, West,   Urban,
32190339,   49, West,   Urban,

.....

现在我的代码看起来像这样:

df = pd.read_csv(filename, index_col = 0)

给出以下输出:

patient_id age_in_years CENSUS_REGION URBAN_RURAL_STATUS  YEAR  MONTH  

11511                  7     Northeast              Urban  2011      6   
9882613               73         South              Urban  2011      7   
32190339              49          West              Urban  2011      8   
32190339              49          West              Urban  2011      8   
32190339              49          West              Urban  2011      8   
32190339              49          West              Urban  2011      8   
32190339              49          West              Urban  2011      8   
32190339              49          West              Urban  2011      8
...

我可以获得一个特定的列,例如CENSUS_REGION,

print(df['CENSUS_REGION'])

但我想抓取CSV中的特定单元格。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:2)

获取column后,您可以使用index下标获取该单元格的具体值

示例,在您的情况下,您的第一列似乎是patient_id,因此这是索引,您可以使用该索引进行索引。

示例 -

print(df['CENSUS_REGION'][11511])

上述内容将获取id为<11511的患者的CENSUS_REGION列数据。

示例/演示 -

In [32]: df
Out[32]:
             age_in_years    CENSUS_REGION   URBAN_RURAL_STATUS
patient_id
11511                   7        Northeast                Urban
9882613                73            South                Urban
32190339               49             West                Urban
32190339               49             West                Urban
32190339               49             West                Urban
32190339               49             West                Urban

In [33]: df['   CENSUS_REGION']
Out[33]:
patient_id
11511          Northeast
9882613            South
32190339            West
32190339            West
32190339            West
32190339            West
Name:    CENSUS_REGION, dtype: object

In [34]: df['   CENSUS_REGION'][11511]
Out[34]: '   Northeast'

请注意,我必须使用大量空格,因为csv搞砸了,但' CENSUS_REGION'只是列名。