首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >考拉数据帧中的过滤索引值

考拉数据帧中的过滤索引值
EN

Stack Overflow用户
提问于 2021-08-31 09:51:08
回答 1查看 382关注 0票数 0

我试着在科拉斯重现下面的操作,当我在考拉身上尝试同样的操作时,它会抛出一个错误。

在Pandas上的尝试:

代码语言:javascript
运行
复制
df = pd.DataFrame({'foo':['a','b','c','d','e'], 'bar':['1', '2', '3','4','5']})
df1 = pd.DataFrame({'foo':['a','b','c'], 'bar':['1', '2', '3']})

ci = [4,32,12,1]

df[df.index.get_level_values(0).isin(ci)]

输出:

foo bar 1 b 2 4 e 5

手术在考拉中的尝试:

代码语言:javascript
运行
复制
df = ks.DataFrame({'foo':['a','b','c','d','e'], 'bar':['1', '2', '3','4','5']})
df1 = ks.DataFrame({'foo':['a','b','c'], 'bar':['1', '2', '3']})

ci = [4,32,12,1]

df[df.index.get_level_values(0).isin(ci)]

输出: PandasNotImplementedError:方法pd.Index.__iter__()未实现。如果要将数据收集为NumPy数组,请使用“to_numpy()”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-31 10:21:47

看起来Index.get_level_values()在幕后使用__iter__(),而考拉不支持这一点。

几个想法:

  1. 为什么需要使用get_level_values()呢?df[df.index.isin(ci)]也同样有效。

  1. 用缺少的标签进行索引的“适当”方法是使用.reindex()。它将用NaNs填充新索引中缺少的行,您必须删除NaNs:

代码语言:javascript
运行
复制
new_df = df.reindex(index=ci).dropna()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68996530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档