- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想为数据帧中的每一行分配一个间隔,这样所有行就不会重叠并覆盖整个可能的范围。因此,我可以根据给定间隔内的值过滤行。
我使用过 pd.Interval
,但是当我尝试“正常”过滤时它不起作用:
df = pd.DataFrame({"rating":["bad","average","good"],
"stars":[pd.Interval(left=0,right=2,closed="left"),
pd.Interval(left=2,right=4,closed="left"),
pd.Interval(left=4,right=5,closed="both")]})
stars_val=2.5
filtered_df = df[stars_val in df.stars]
它给出了以下错误:
KeyError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
2656 try:
-> 2657 return self._engine.get_loc(key)
2658 except KeyError:
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: False
一个工作代码应该给出结果:
rating stars
1 average [2, 4)
最佳答案
如果您的所有区间都具有相同的closed
,那么您的列将由IntervalArray
支持你可以使用 IntervalArray.contains
矢量化实现的方法:
In [2]: np.random.seed(123)
In [3]: start = np.random.randint(100, size=1000)
In [4]: ia = pd.arrays.IntervalArray.from_arrays(start, start + 5)
In [5]: df = pd.DataFrame({'A': list('abcde') * 200, 'B': ia})
In [6]: df.head()
Out[6]:
A B
0 a (66, 71]
1 b (92, 97]
2 c (98, 103]
3 d (17, 22]
4 e (83, 88]
In [7]: df[df['B'].array.contains(70)]
Out[7]:
A B
0 a (66, 71]
20 a (68, 73]
23 d (67, 72]
27 c (66, 71]
45 a (69, 74]
87 c (67, 72]
111 b (65, 70]
128 d (68, 73]
133 d (65, 70]
135 a (67, 72]
155 a (65, 70]
177 c (69, 74]
193 d (67, 72]
217 c (69, 74]
221 b (66, 71]
223 d (69, 74]
227 c (66, 71]
243 d (66, 71]
250 a (67, 72]
251 b (65, 70]
263 d (68, 73]
407 c (65, 70]
419 e (69, 74]
425 a (65, 70]
446 b (69, 74]
449 e (69, 74]
451 b (66, 71]
523 d (66, 71]
552 c (68, 73]
589 e (66, 71]
609 e (69, 74]
613 d (68, 73]
627 c (69, 74]
637 c (68, 73]
650 a (67, 72]
674 e (69, 74]
711 b (69, 74]
769 e (67, 72]
777 c (69, 74]
800 a (66, 71]
803 d (68, 73]
818 d (69, 74]
822 c (67, 72]
883 d (66, 71]
889 e (68, 73]
944 e (67, 72]
953 d (69, 74]
966 b (65, 70]
混合 closed
间隔会产生一个 object
数组,因此您需要使用效率较低的实现方式,就像 @ALollz 建议的那样。
关于python - 给定数据框中的 pd.Interval 列,过滤落在 Interval 范围内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57719364/
我有三个 td,并且正在尝试将每个内部的函数限制为仅该 td。我该怎么做呢?使用此代码,它会获取所有 3 个图像并将它们全部插入到 h2 之前: jQuery("td.frontpage_news")
这是所需的通用公式:if((b2-b1)=c1,True,False但是,我需要 b2-b1约等于 c1 , 在 5 内大约单位(在本例中为秒)。有没有可以处理这个的函数? 最佳答案 你也可以试试这个
我有三个整数,作为命令行参数传入后赋值给变量。我想验证每个整数都在 1-5 范围内。有没有一种方法可以在不使用如下所示的 if 语句的情况下在 Java 中完成此操作?我想避免这样做(注意伪代码):
检查某个变量 X 是否在某个变量 Z 的 n 个数字之内的最简洁方法是什么。n 是任意定义的数字(即 3)。 所以我想要 if (z {something} x){ // run code i
我的顶级 build.gradle (Gradle 2.2) 中有类似的东西 ext.repo = "https://my-artifactory-repo" buildscript { re
我只是在我的 jsp 页面中进行随机技巧和测试。我想使用 Attributes 将 request 范围对象存储在 session 范围对象中。存储后,当尝试从请求属性中提取值(存储在 session
我正在使用 Spring 。我有一个外部化属性文件。我正在按如下方式加载它。 现在我如何将 session 中的属性作为键值对保存? 我尝试编写一个扩展 ServletContextListene
我有以下范围: scope :billable, -> (range_start = nil, range_end = nil) { joins(:bids) .where("au
请看我的示例代码: var testObject = new SomeClass(); using (testObject) { //At this point how can the te
我目前在保持在 vector 范围内时遇到一些问题。 在下面的代码中,我试图检查正在检查的数字是否小于或等于它后面的数字 #include #include #include bool fun(
有人可以帮我解决下面的(简化的)代码吗?我试图从幻灯片事件函数中调用 doTheSlide() 函数。我对 JS 范围的理解仍然有点可疑。 实现这一目标的正确方法是什么?我收到此错误: Uncaugh
如何在 Swift 中检查时间是否在下午 6 点到晚上 11 点之间?我在使用 NSDateFormatter 时遇到了困难,我觉得一定有更简单的方法。 最佳答案 使用NSCalendar: let
我目前正在尝试创建一个 2D 横向滚动条,并且我目前有我的“世界”绘图(暂时是一个大白框),但我无法弄清楚世界地图的边缘与边缘之间的任何关系确保视口(viewport)始终完全被 map 覆盖。 我的
我正在学习李普曼,而且我只是在学习。我在这里尝试编写一个代码,该代码将返回 vector 中的最小元素。当我在 Codeblocks 中编译我的代码时,它说:“模板声明不能出现在 block 范围内”
我有三个日期对象。我该如何比较它们才能确定它们之间的相对差异。 oldDate = newDate() - 5; midDate = newDate() - 2.5; newDate = newDat
我需要检查对象“objCR”是否存在于当前范围内。我尝试使用以下代码。 if(objCR == null) alert("object is not defined"); 让我知道哪里错了。 最佳答案
如何检查 IP 地址是否属于私有(private)类别? if(isPrivateIPAddress(ipAddress)) { //do something } 如有
我正在开发一个 Firefox 插件,它可以转换用户通过用户选择突出显示的屏幕温度。转换后,用户选择将替换为 ID 为 alreadyconverted 的 span HTML 元素,其中包含原始温度
我正在开发一个邮资应用程序,该应用程序需要根据多个邮政编码范围检查整数邮政编码,并根据邮政编码匹配的范围返回不同的代码。 每个代码都有多个邮政编码范围。例如,如果邮政编码在 1000-2429、254
我正在使用 excel 范围进行连接:Set rng = Range("A1:A8")如果范围内的单元格之一为空,则会添加一个空格。 你如何阻止这个空间被添加? 最佳答案 假设您在那些非空单元格中有常
我是一名优秀的程序员,十分优秀!