【发布时间】:2021-05-09 06:42:07
【问题描述】:
在执行查询之前,我需要将数据框列与数据库列(在列表中定义)相交。 我当前的代码如下所示:
db_columns_list = ['col1', 'col2', 'col3']
dataframe = dataframe[dataframe.columns & db_columns_list]
这很好用,但我收到了警告:
*FutureWarning: Index.__and__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__and__. Use index.intersection(other) instead
dataframe = dataframe[dataframe.columns & db_columns_list]*
所以我想把它转换成类似的东西:
dataframe = dataframe[dataframe.columns.intersection(db_columns_list)]
但是我得到了错误:
*Unresolved attribute reference 'intersection' for class 'Iterator'*
请注意,数据库可能包含比数据框更多的列。 因此,我相信交叉路口是解决此问题的正确方法。 谢谢
【问题讨论】:
标签: python pandas list dataframe intersection