gpt4 book ai didi

python - Pandas 多索引按逻辑数组选择数据

转载 作者:太空宇宙 更新时间:2023-11-04 00:40:06 25 4
gpt4 key购买 nike

这里我有一个数据框

import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(100).reshape(20,5), columns=list('abcde'))
data = data.set_index(['a', 'b'])
print(data.head())
c d e
a b
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24

逻辑判断如何选择数据使用loc函数?像这样:a<20 和 b > 1

最佳答案

1) 使用query直接在多索引 DF 的索引名称上执行 bool 索引:

data.query("a < 20 & b > 1")

2) 使用eval如果你想事先有一个 bool 掩码,然后根据它对 DF 进行子集化:

bool_mask = data.eval("a < 20 & b > 1")
data[bool_mask]

两种情况的结果 o/p:

enter image description here

关于python - Pandas 多索引按逻辑数组选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42244869/

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