gpt4 book ai didi

python - 仅在 Pandas python 中索引和选择找到的列

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:37 25 4
gpt4 key购买 nike

我在使用 Pandas Python 时遇到一个基本问题。例如,我的数据框“a ”具有以下列 q、w、e、r。现在我想获取 a 的子集。

b=a[[w,e,r,z]]

但它不会创建子集,因为 z 不存在于 a 中,请帮助我如何解决这个问题,尽管在“a”数据框中找不到 z,但我希望创建“b”其余的人是w、e、r。

最佳答案

看来使用 isin 方法并不是最有效的方法:

% timeit a[a.columns[a.columns.isin(['w', 'e', 'r', 'z'])]]
out : 1000 loops, best of 3: 528 µs per loop

当你只使用过滤器时:

%timeit a[[col for col in ['w','e','r','z'] if col in a.columns]]
out: 1000 loops, best of 3: 431 µs per loop

另一方面,使用 isin 自动重新索引您的列,就像创建数据框一样:

a = pd.DataFrame({'q':[1],'w':[2],'e':[3],'r':[4]})    
out: e q r w
0 3 1 4 2

a[a.columns[a.columns.isin(['w', 'e', 'r', 'z'])]]
out : e r w
0 3 4 2

a[[col for col in ['w','e','r','z'] if col in a.columns]]
out: w e r
0 2 3 4

关于python - 仅在 Pandas python 中索引和选择找到的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477509/

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