python - 正确使用 np.where() 输出数据帧而不是元组
问题描述
我正在尝试返回日期(使用 set_index() 的索引列),其中一个位置的测量值是另一个位置的测量值的两倍。我需要显示第一个位置的日期和速度。
这是我到目前为止...
c = np.where(data['Loc1']== 2*data['Loc9'])
c
它返回一个三元组......我怎样才能让它显示日期和风速?
在这里慢慢学习Python。
解决方案
np.where
会将索引返回到符合条件的行,因此您需要使用索引来选择 DataFrame 的行,例如使用.loc
:
import pandas as pd
import numpy as np
# Setup:
data = pd.DataFrame({"Loc1":[4,2,3], "Loc9": [2, 3, 4]})
c = np.where(data['Loc1']== 2*data['Loc9'])
data.loc[c]
推荐阅读
- ssh - Gitlab CI - 使用 ssh 找不到 Composer
- sql - 来自两个表和一个链接表的 SQL 查询,为表 a 的每一行返回所有表 c,其中表 b 中没有链接
- javascript - 如何在基于类的组件中进行 Expo/react-native Google 身份验证?
- javascript - Fastify 重新加载浏览器
- javascript - 如何使用 Excel JavaScript API 获取选定或活动单元格的数据透视表名称和数据透视字段名称?
- amazon-web-services - 从联合角色获取 CLI 的 AWS 凭证
- redux-toolkit - 在 createAsyncThunk 方法中覆盖对象属性
- verilog - Verilog 时钟脉冲
- java - 任何 Java IDE Intellisense 都缺少某些元素
- python - python中的Level Order Traversal,我们可以更好地优化它吗?