首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤可积数据列中的NA值?

如何过滤可积数据列中的NA值?
EN

Stack Overflow用户
提问于 2020-05-23 12:53:04
回答 2查看 69关注 0票数 0

我有一个数据表,

代码语言:javascript
复制
DT_EX= dt.Frame({
               'country':['a','a','a','a'],
               'id':[3,3,3,3],
               'shop':['dmart','dmart','dmart','dmart'],
               'beef':[23,None,None,None],
               'eggs':[None,33,None,None],
               'fork':[None,None,10,None],
               'veg':[None,None,None,40]})

它的输出是,

我想把它转换成datatable,它在列中不应该有NA,如这个输出所示,

请您解释一下如何在py-datatable上执行此操作(移除NA)吗?dt.isna()在这种情况下会有帮助吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-23 13:26:38

一种方法是选择前三列(它们没有空),然后用其余列之和扩展它:链接

代码语言:javascript
复制
from datatable import f, first, sum

DT_EX[:,first(f[:3]).extend(sum(f[3:]))]

    country id  shop    beef    eggs    fork    veg
▪▪▪▪    ▪▪▪▪    ▪▪▪▪    ▪▪▪▪▪▪▪▪    ▪▪▪▪▪▪▪▪    ▪▪▪▪▪▪▪▪    ▪▪▪▪▪▪▪▪
0   a   3   dmart   23  33  10  40

更新:另一个相关问题的简单解决方案:

代码语言:javascript
复制
DT_EX[:, sum(f[3:]), f[:3])]
票数 1
EN

Stack Overflow用户

发布于 2020-05-23 15:37:42

我还有一个子群的项目,这是一个新的DT。

代码语言:javascript
复制
DT_EX= dt.Frame({
'country':['a','a','a','a','b','b','c','c'],
'id':[3,3,3,3,4,4,4,4],
'shop':['dmart','dmart','dmart','dmart','amzn','amzn','amzn','amzn'],
'beef':[23,None,None,None,93,None,None,None],
'eggs':[None,33,None,None,None,103,None,None],
'fork':[None,None,10,None,None,None,210,None],
'veg':[None,None,None,40,None,None,None,340]})

我试着在上面加上推荐的逻辑,如下面的截图中所示,

在第二个代码块中,它总结了每一列(牛肉、鸡蛋、叉子、蔬菜)。

在第三个代码块中,我对前三列进行了分组,这里给出了一个正确的输出,但是它添加了重复的列,另一个观察是它用0填充NA值,它可以在C观察中找到。

你对此还有什么其他的想法/建议吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61972339

复制
相关文章

相似问题

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