Python 如何筛选pydatatable列中的NA值?

Python 如何筛选pydatatable列中的NA值?,python,py-datatable,Python,Py Datatable,我有一个数据表 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],

我有一个数据表

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数据表上的NA?。在这种情况下,dt.isna会有帮助吗?

一种解决方法是选择前三列(它们没有空值),并用剩余列的总和进行扩展:

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

DT_EX[:, sum(f[3:]), f[:3])]

解决此问题的一种方法是选择前三列(它们没有空值),并使用剩余列的总和对其进行扩展:

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

DT_EX[:, sum(f[3:]), f[:3])]

我还有一个子组,这是一个新的DT

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观察中找到


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

所以我还有一个项目分组,这里是一个新的DT

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观察中找到


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

嗨,你能把这个问题设为一个新问题吗。这也允许其他人看到它并尝试。我会在电脑上试一试的我会的我刚把这个作为一个新问题发布在网上嗨,你能把它设置成一个新问题吗。这也允许其他人看到它并尝试。我会在我的PCOk上试一试我会试一试我刚刚在SO上发布了一个新问题。嗨@sammywemmy看起来你在COLAB笔记本中使用pydatatable,当你执行代码块时,它会显示两种datatable输出格式吗?。还是单身?。对我来说,它给出了两种格式。我认为在你上面提到的输出中,它是一种单输出格式。你能告诉我你是怎么做的吗?它给了我一个单一的格式。我用的是jupyter笔记本哦,好吧,它也给了我一个jupyter笔记本的输出。但当涉及到colab笔记本时,它会打印两个输出,你能试一下吗?我很少使用colab。当我有时间的时候,我会试试看。看起来你正在COLAB笔记本电脑中使用pydatatable,当你执行代码块时,它会显示datatable的两种输出格式吗?。还是单身?。对我来说,它给出了两种格式。我认为在你上面提到的输出中,它是一种单输出格式。你能告诉我你是怎么做的吗?它给了我一个单一的格式。我用的是jupyter笔记本哦,好吧,它也给了我一个jupyter笔记本的输出。但当涉及到colab笔记本时,它会打印两个输出,你能试一下吗?我很少使用colab。当我有时间的时候,我会试试看