我需要获取 Pandas DataFrame 的列名,其中的列与 NumPy 数组中的列匹配。
示例
import numpy as np
import pandas as pd
x = pd.DataFrame( data=[[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]], columns=list('abc') )
y = np.array( x[['b','c']] )
y
y
从DataFrame获取第二列和第三列:
array([[0, 1],
[1, 0],
[0, 0],
[1, 1],
[1, 0],
[1, 1]])
如何获取在 x
中存在 y
的列名?(在本例中为 b,c)
我需要类似于以下内容:
x[ x==y ].columns
或者
pd.DataFrame(y).isin(x)
这个示例是为了解决特征选择问题而设计的,并且参考了sklearn页面上的内容。
我使用的是numpy 1.11.1和pandas 0.18.1。