【发布时间】:2019-11-22 11:20:55
【问题描述】:
鉴于功能列表中的任何字符串都包含在这些列的名称中,我正在尝试创建一个从列列表中提取的数字索引列表。
我尝试将列表推导与条件语句一起使用。但是,代码给了我一个类型错误“in requires string as left operand, not bool”。
import pandas as pd
feature_list = ['a', 'b']
x = pd.DataFrame({"data_a":[1,2,3], "data_b":[1,2,3], "data_c":[1,2,3]})
numerical_index_list = [x.columns.get_loc(a) for a in [b for b in list(x.columns) if any(c for c in feature_list) in b]]
谁能帮我获得一个条件列表理解,它会给我一个包含字符串 a 和 b ["data_a", "data_b"] 的列的列表?
【问题讨论】:
-
问题代码在这里:
if any(c for c in feature_list) in b。any()返回True或False,Python 抱怨它在b中找不到它 -
@darthbith 使用条件语句获得我想要的结果的正确方法是什么?
标签: python pandas list list-comprehension any