【发布时间】:2016-08-24 19:17:01
【问题描述】:
我在下面有一个 Pandas Dataframe (A) 和一个 NumPy 数组 (B)
A =
M N C D E F
0.882367 0.207342 0.959867 0.332126 0.031896 0.055734
0.640045 0.411328 0.794058 0.090374 0.629194 0.219321
0.423837 0.304872 0.370467 0.651361 0.017515 0.252440
0.865555 0.692180 0.790405 0.334760 0.863329 0.759971
0.843106 0.261376 0.385936 0.289840 0.063487 0.164913
0.881428 0.257026 0.139775 0.988289 0.953948 0.870969
0.862520 0.446840 0.754147 0.461149 0.607048 0.760438
0.839595 0.486050 0.012903 0.716871 0.155938 0.370666
0.663964 0.675242 0.066046 0.263634 0.242453 0.963562
0.761090 0.501848 0.896033 0.710318 0.581952 0.392896
B =
[[ 0.20734235 0.33212606 0.03189633]
[ 0.41132799 0.09037417 0.6291936 ]
[ 0.30487215 0.65136057 0.01751531]
[ 0.69217974 0.3347596 0.86332925]
[ 0.26137593 0.28984018 0.06348744]
[ 0.25702646 0.98828911 0.95394809]
[ 0.44684032 0.46114941 0.60704784]
[ 0.4860496 0.71687057 0.15593771]
[ 0.67524202 0.26363435 0.24245288]
[ 0.50184753 0.71031779 0.58195151]]
A 的大小为 (10,6),B 的大小为 (10,3)。 NumPy 数组 B 中的列是 Pandas 数据框 A 中列的子集。不知道子集是怎么提前形成的。
如何在 Pandas 数据框 (A) 中找到也在 NumPy 数组 (B) 中的列的名称列表? 预期的输出应该是一个列表['N','D','E']。
编辑:要在上面创建A 和B,此代码将起作用:
import numpy as np; import pandas as pd
A = pd.DataFrame(np.random.rand(10,6),columns=list('MNCDEF'))
y = A.iloc[:,[1,3,4]].values
B = y.view('float64')
B[:] = y
注意:使用此方法,您得到的数字将不会与我的数据相同。但是,就本示例而言,它应该足够了。
【问题讨论】:
标签: python arrays python-2.7 numpy pandas