【发布时间】:2020-11-19 12:17:52
【问题描述】:
我正在尝试将字符串和列表都传递给 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([]) 对字符串的每次迭代都很好,但是当我到达 general_months[-1] 时,它是一个列表,您不能将列表传递给 .isin([])句法。我试过这个但不能删除双引号,因为我的理解是字符串是不可变的:
str(overall_months[-1]).replace('[', '').replace(']','')
这会产生:“'APR', 'JUL', 'NOV', 'MAR', 'FEB', 'AUG', 'SEP', 'OCT', 'JAN', 'DEC', 'MAY' ,‘君’” 它可以传递给我的语法,如果它是:'APR'、'JUL'、'NOV'、'MAR'、'FEB'、'AUG'、'SEP'、'OCT'、'JAN'、'DEC' , '五月', '六月'
任何帮助以最好的方式实现这一点?
【问题讨论】:
标签: python pandas string list isin