如何从DataFrame中提取不带列名与索引的目标单个数值?
如何从Pandas DataFrame中提取纯数值?
嘿,我来帮你解决这个问题!你现在遇到的情况是因为loc返回的是一个单行单列的DataFrame,而不是单个标量数值。这里有几种简单的方法可以提取出你要的纯数值0.49663:
方法1:使用
iloc基于位置索引提取
因为筛选后的结果只有一行一列,直接用iloc[0, 0]定位第一个元素即可:rates.loc[(rates['currencyBench']=='GBP'), ['lib1m']].iloc[0, 0]方法2:用
squeeze()压缩成标量squeeze()可以自动把单行单列的DataFrame(或单元素Series)转换成纯数值:rates.loc[(rates['currencyBench']=='GBP'), ['lib1m']].squeeze()方法3:通过
values转成numpy数组提取
把DataFrame转换成numpy数组后,直接取第一个元素:rates.loc[(rates['currencyBench']=='GBP'), ['lib1m']].values[0][0]方法4:简化筛选逻辑,直接取Series的第一个元素
你也可以先筛选行,再取列得到Series,然后用iloc[0]提取数值:rates[rates['currencyBench']=='GBP']['lib1m'].iloc[0]
这些方法都能帮你得到纯数值0.49663,根据你的习惯选就行~
内容的提问来源于stack exchange,提问作者SBad
相关产品推荐
相关产品推荐

