如何从pandas DataFrame抽样行中提取指定单元格的值
提取单行DataFrame中特定列的值
嘿,我来帮你搞定这个问题!你已经成功从DataFrame里抽取出一行,但结果还是DataFrame类型,现在要提取这一行里Open列的具体值对吧?这里有几个简单好用的方法:
方法1:先转成Series再取值
因为你抽样得到的是只有一行的DataFrame,用.iloc[0]可以把它转换成Series对象,之后直接通过列名就能拿到对应的值:open_value = start_state.iloc[0]['Open']对应你给出的抽样结果,这样得到的就是
180.839996。方法2:用
.at或.iat直接定位单个元素
如果你需要更高效的方式(尤其是处理大数据时),可以用.at(按标签定位)或者.iat(按位置定位):- 用
.at的话,需要指定行索引和列名:# 先拿到该行的索引,比如你的例子里是5299 row_index = start_state.index[0] open_value = start_state.at[row_index, 'Open'] - 用
.iat的话,按位置来(行是0,Open是第2列,索引从0开始):open_value = start_state.iat[0, 1]
- 用
方法3:通过
.values提取数组元素
先选中Open列得到一个Series,再转成numpy数组,取第一个元素即可:open_value = start_state['Open'].values[0]
这些方法都能轻松帮你拿到想要的Open列数值,选哪个都可以,看你习惯哪种写法~
内容的提问来源于stack exchange,提问作者Shamoon
相关产品推荐
相关产品推荐

