Почему Некоторые столбцы «Не в Индексе» При Создании Нового Фрейма данных?

#python #pandas

Вопрос:

Я пытаюсь создать новый фрейм данных pandas displayDF с 4 столбцами из finalDF фрейма данных .

 displayDF = finalDF[['False','True','RULE ID','RULE NAME']]
 

Эта команда завершается ошибкой:

 KeyError: "['False', 'True'] not in index"
 

Тем не менее, я вижу столбцы «Ложь» и «Истина», когда я запускаю finalDF.info()

 <class 'pandas.core.frame.DataFrame'>
Int64Index: 12 entries, 0 to 11
Data columns (total 6 columns):
 #   Column            Non-Null Count  Dtype 
---  ------            --------------  ----- 
 0   rule_rec_id       12 non-null     object
 1   False             12 non-null     int64 
 2   True              12 non-null     int64 
 3   RULE ID           12 non-null     object
 4   RULE NAME         12 non-null     object
 5   RULE DESCRIPTION  12 non-null     object
dtypes: int64(2), object(4)
memory usage: 672.0  bytes
 

Дополнительная справочная информация:

Я создал finalDF , объединив два кадра данных ( pivot_stackedPandasDF и dfPandaDescriptions )

 finalDF = pd.merge(pivot_stackedPandasDF, dfPandaDescriptions, how='left', left_on=['rule_rec_id'], right_on=['RULE ID'])
 

Я создал pivot_stackedPandasDF с помощью этой команды.

 pivot_stackedPandasDF = stackedPandasDF.pivot_table(index="rule_rec_id", columns="alert_value", values="count").reset_index()
 

Я думаю, что основная причина может быть в том, как я выполнил .pivot_table() команду.

Комментарии:

1. Возможно ли, что фактическими столбцами во фрейме данных являются True и False (логические литералы), а не 'True' и 'False' (строки)? Попробуй df[[False, True, 'RULE ID', 'RULE NAME']]

2. Спасибо @HenryEcker, это именно то, что происходило.