代码之家  ›  专栏  ›  技术社区  ›  ViSa

如何在siuba-python包中写入R的%in-%等效值?

  •  0
  • ViSa  · 技术社区  · 4 年前

    我正在努力 siuba 包在 python 第一次。

    怀疑 如何使用筛选多个元素 siuba .我指的是如何写作 在里面 在siuba-python代码中:

    R当量:

    df %>% filter(Country %in% c('Germany','France','Spain'))
    

    Python siuba尝试

    country_list = ['Germany','France','Spain']
    
    df >> filter(_.Country %in% country_list )
    

    这是一件简单的事情,但到目前为止我的尝试都没有成功,而且在谷歌上也找不到它。

    1 回复  |  直到 4 年前
        1
  •  3
  •   Henry Ecker Super Kai - Kazuya Ito    4 年前

    siuba 包裹 pandas 操作本身的语法。

    这个 熊猫 基于值列表筛选值的操作是 isin ,这适用于 siuba 语法如下:

    country_list = ['Germany', 'France', 'Spain']
    df >> filter(_.Country.isin(country_list))
    

    示例程序:

    import pandas as pd
    from siuba import filter, _
    
    df = pd.DataFrame({'Country': ['Germany', 'France', 'Spain', 'Portugal']})
    
    country_list = ['Germany', 'France', 'Spain']
    df >> filter(_.Country.isin(country_list))
    

    df :

        Country
    0   Germany
    1    France
    2     Spain
    3  Portugal
    

    After filter :

       Country
    0  Germany
    1   France
    2    Spain
    
    推荐文章