reducntant app kite jacker reductant2 op1 true FALSE item FALSE op2 FALSE true item4 true op3 true FALSE item2 true op4 true true item4 true
這張表是我擁有的大型 100x53 資料的小表示。如何僅提取具有真偽資料值的列的名稱?我有大約 53 列,它們是不同列名和不同列值的組合列,但我只對提取具有真偽字串資料的列感興趣。我使用下面的代碼認為,我可以遍歷 csv 并提取只有 true 和 false 的列名稱,但它不起作用。任何幫助表示贊賞!
for col_name in df.columns:
if (df[col_name] =='True' and 'False'):
print(col_name.tolist())
else :
print('none')
uj5u.com熱心網友回復:
Pandas 自動推斷布爾列,因此下面的代碼應該可以作業:
df = pd.read_csv('data.csv')
df = df.select_dtypes(bool)
如果它不起作用,您可以使用:
df = pd.read_csv('data.csv', dtype=str) # disable dtype detection
df = df.loc[:, df.isin(['false', 'true']).all()] # take care of case
uj5u.com熱心網友回復:
嘗試這個:
temp = (df.iloc[:,:]).isin(['true','false']).any()#returns a bool pd.Series True=> column contains only 'true' and 'false'
columns_to_drop = [] #column index to be dropped
for i in range(len(temp)):
if t[i] == False:
columns_to_drop.append(i)
df.drop(df.columns[columns_to_drop], axis = 1, inplace = True) #required data frame
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433854.html
標籤:Python python-3.x 熊猫 细绳 麻木的
