如何在以Fishes列为索引的DataFrame中选取指定单元格值
以Fishes列为索引的DataFrame选取production列指定单元格方法
你的DataFrame结构如下(已将Fishes设为行索引):
| Fishes | Month | Year | production |
|---|---|---|---|
| BF - Milkfish | 3 | 2019 | 35045.12 |
| BF - Tilapia | 6 | 2019 | 68666.64 |
| BF - Tiger prawn | 9 | 2019 | 77064.91 |
| BF - Mudcrab | 12 | 2019 | 58163.4 |
| BF - Endeavor prawn | 3 | 2020 | 38108.49 |
| BF - White shrimp | 6 | 2020 | 67663.83 |
| BF - Grouper | 9 | 2020 | 71316.94 |
要获取production列下对应指定鱼种的单个数值,直接用以下方法即可,返回结果就是纯数值,符合你给出的示例格式:
推荐写法:
.loc标签索引(无链式索引风险,读写值都适用)
语法为df.loc[目标行的Fishes索引值, 'production'],例如取BF - Milkfish对应的产量:# 假设你的DataFrame变量名为df,且已设置Fishes为索引 result = df.loc['BF - Milkfish', 'production'] print(result)输出结果:
35045.12
要取其他单元格的值,只需要把第一个参数替换成对应鱼种的索引字符串即可,比如取BF - Grouper的产量就写df.loc['BF - Grouper', 'production'],返回71316.94。位置索引写法:
.iloc按整数位置取值
如果你知道目标单元格所在的行、列整数位置(从0开始计数),也可以用.iloc,例如第一行(索引0)的production列是第三列(索引2):df.iloc[0, 2]同样返回35045.12。
简单读值写法:先选列再按行索引取
如果仅需要读取值、不做修改操作,可以直接先筛选production列再按索引取值:df['production']['BF - Milkfish']注意:这种写法属于链式索引,如果要对单元格赋值修改不建议使用,容易出现操作不生效的问题,读值无影响。
内容的提问来源于stack exchange,提问作者love
相关产品推荐
相关产品推荐

