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

2024-05-16 07:38:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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
...

我可以通过以下方式获得一个特定的列,例如人口普查地区

print(df['CENSUS_REGION'])

但我想在CSV中获取特定的单元格。有人能帮我做这个吗?


Tags: csvinidagestatusregionurbancensus
1条回答
网友
1楼 · 发布于 2024-05-16 07:38:24

在得到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'只是列名。

相关问题 更多 >