[英]How to classify columns in pandas dataframe based on column's values?
[英]How to drop Pandas dataframe columns based on another boolean array's column values?
我試圖根據第二個布爾數組(具有相同長度)的列的值刪除 Pandas Dataframe的列。
例如假設熊貓數據框
[value1, value2, value3]
和一個布爾數組
[True, False, True].
對 Pandas 數據幀進行刪除操作的結果將是
[value1, value3]
請注意,我們刪除了布爾數組中值為 False 的第二列。
我想這樣的事情會正常工作:
for i in range(len(boolean_array)):
if boolean_array[i] == False:
df = df.drop(df.columns[i], axis=1)
但我很確定有一種更簡單的方法。
使用帶有DataFrame.loc
boolean indexing
通過布爾掩碼過濾列:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.