gpt4 book ai didi

python - 查找 Pandas 和 NumPy 之间的公共(public)列并提取列名

转载 作者:行者123 更新时间:2023-11-28 21:47:09 24 4
gpt4 key购买 nike

我在下面有一个 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']

编辑:要创建 AB,此代码将起作用:

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

注意:使用这种方法,你得到的数字不会和我的数据完全一样。但是,就此示例而言,它应该足够了。

最佳答案

您可以使用 .duplicated() - 首先,使用 pd.concat() 进行组合,然后选择匹配的列(当然可以使用 选择标题>df.columns):

B = pd.DataFrame(B)
df = pd.concat([B, A], axis=1).T
df[df.duplicated()].T

N D E
0 0.220376 0.275217 0.029644
1 0.751950 0.170162 0.996459
2 0.597565 0.440468 0.239183
3 0.775364 0.476966 0.056998
4 0.747164 0.654597 0.056527
5 0.825209 0.699910 0.374902
6 0.800624 0.837948 0.833588
7 0.420070 0.102400 0.204857
8 0.628885 0.345432 0.172771
9 0.002239 0.868492 0.225563

关于python - 查找 Pandas 和 NumPy 之间的公共(public)列并提取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36941532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com