【发布时间】:2018-11-12 16:51:45
【问题描述】:
我想根据掩码idx 选择行。我可以想到两种不同的可能性,要么使用iloc,要么只使用括号。我在下面展示了两种可能性(在数据框df 上)。它们是否同样可行?
idx = (df["timestamp"] >= 5) & (df["timestamp"] <= 10)
idx = idx.values
hr = df["hr"].iloc[idx]
timestamps = df["timestamp"].iloc[idx]
或以下一个:
idx = (df["timestamp"] >= 5) & (df["timestamp"] <= 10)
hr = df["hr"][idx]
timestamps = df["timestamp"][idx]
【问题讨论】:
-
您的问题归结为您使用
df['col'].iloc[idx]还是仅使用[idx],其中idx是boolean(不是int)的向量。所以你只是在询问布尔掩码的情况。 -
说到 Pandas 索引从哪里开始。也许文档是一个好的开始。永远不要像这样混合和链接索引操作。你将进入一个充满伤害的世界。
-
我已将您的问题标题编辑成我相信很多人都会搜索的内容。让我们看看。
-
顺便说一句,您介意将投票/接受您认为有帮助的答案养成习惯吗?它对社区有所帮助,我注意到您似乎并不经常这样做。
标签: python pandas dataframe indexing series