gpt4 book ai didi

python - 如何根据另一个 bool 数组的列值删除 Pandas 数据框列?

转载 作者:行者123 更新时间:2023-12-01 07:33:57 24 4
gpt4 key购买 nike

我正在尝试根据第二个 bool 数组的列值(具有相同的长度)删除 Pandas Dataframe 的列。

例如假设 pandas 数据框

[value1, value2, value3]

和一个 bool 数组

[True, False, True].

Pandas 数据帧上的删除操作的结果是

[value1, value3] 

请注意,我们删除了 bool 数组上值为 False 的第二列。

我想这样的事情会很好用:

for i in range(len(boolean_array)):
if boolean_array[i] == False:
df = df.drop(df.columns[i], axis=1)

但我很确定有一种更简单的方法。

最佳答案

使用boolean indexingDataFrame.loc通过 bool 掩码过滤列:

df = pd.DataFrame({'value1':[1,2],
'value2':[10,20],
'value3':[100,200]})

arr = np.array([True, False, True])

df1 = df.loc[:, arr]
print (df1)
value1 value3
0 1 100
1 2 200

关于python - 如何根据另一个 bool 数组的列值删除 Pandas 数据框列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57090793/

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