当前位置: 首页 > 知识库问答 >
问题:

将string和list同时传递给pandas.isin方法

锺离德运
2023-03-14

我试图将一个字符串和一个列表传递给pandas.isin()方法。下面是我的代码

    overall_months = ['APR', 'JUL', 'NOV', 'MAR', 'FEB', 'AUG', 'SEP', 'OCT', 'JAN', 'DEC', 'MAY', 
    'JUN', ['APR', 'JUL', 'NOV', 'MAR', 'FEB', 'AUG', 'SEP', 'OCT', 'JAN', 'DEC', 'MAY', 'JUN']]

    for mon in overall_months:
        temp_df = df.month.isin([[mon]]))

这里的问题是,.isin([])对于字符串的每次迭代都很好,但是当我到达overall_months[-1]时,它是一个列表,您不能将列表传递到.isin([])语法中。我试过了,但不能删除双引号,因为我的理解是字符串是不可变的:

    str(overall_months[-1]).replace('[', '').replace(']','')

有什么最好的帮助来完成这件事吗?

共有1个答案

陈业
2023-03-14

您可以检查元素是否是带有isinstance的列表:

for mon in overall_months:
    if not isinstance(mon, list): mon = [mon]
    tmp_df = df.month.isin(mon)
 类似资料:
  • 问题内容: 我正在尝试将字符串数组作为POST数据传递给PHP脚本,但是不确定该怎么做。 这是到目前为止我执行PHP脚本的代码: 我试图传递数组的地方: 调用PHP脚本: 以及相关的PHP脚本: 有任何想法吗?谢谢 ! 编辑 我正在尝试以下方法,但仍不满意: 这就是我所有的“错误报告” … 问题答案: 要将查询字符串中的数组传递给php,您应该添加到标识符并将每个项目都添加为单独的条目,因此这样的

  • 问题内容: 一个讨论是关于将空值传递给方法。 它代表了不同的处理方式: 我更喜欢断言方法,但是我不喜欢断言默认情况下处于关闭状态的事实。 该书最后指出: 在大多数编程语言中,没有很好的方法来处理调用者意外传递的null。因为是这种情况,所以合理的方法是默认情况下禁止传递null。 它实际上并没有涉及如何实施此限制? 无论哪种方式,您中的任何人都有强烈的意见。 问题答案: 在这里,使用断言和引发异常

  • 问题内容: 如何将整个数组传递给方法? 如何正确执行此操作? 问题答案: 你做这个: 只需将其作为其他任何变量传递即可。 在Java中,数组是通过引用传递的。

  • 这是我的第一个Java应用程序。我正在尝试创建一个产品(键)和它们的价格(值)的地图。文档上说我不能用doubles换钱,所以我得用bigdecimal。我现在完全不知道如何在我的方法和地图中使用BigDecimal。 寄存器类: 主类:

  • 我刚到UDF的斯帕克。我也看过这里的回答 问题陈述:我正在尝试从数据帧列中查找模式匹配。 例如:数据帧 现在我想对列$text中的每一行进行模式匹配,并添加一个名为count的新列。 结果: 我试图定义一个udf,将$text列作为数组[Seq[String]传递。但是我不能得到我想要的。 到目前为止,我尝试过: 任何帮助都将不胜感激

  • 问题内容: 方法context.getBean(name,user)的文档说 允许指定显式构造函数参数/工厂方法参数 但是无论我做什么(尝试一切),使用最合理的设置在初始化期间加载Bean时都会得到以下信息: 注释说可以做到的,但是如果您在该bean的xml定义中指定构造函数参数,则失败。 问题答案: 在javadoc中说: args-在使用静态工厂方法的显式参数创建原型时使用的参数。 因此,be