У меня есть датафрейм, импортированный из CSV-файла с использованием Pandas read_csv. Его форма 735, 36. Мне нужно отбросить последние 33 столбца, оставив первые 3. Столбцы 'code'
, 'proc'
, 'All procedures'
Я перепробовал все предложения здесь
Что бы я ни делал, я получаю следующую ошибку:
TypeError: 'bool' object is not subscriptable
Например:
df1=df[['code','proc', 'All procedures']]
TypeError Traceback (most recent call last)
<ipython-input-37-350994f9b7c6> in <module>
----> 1 df[['code','proc', 'All procedures']]
TypeError: 'bool' object is not subscriptable
Я начал снова. Ошибка «объект bool не подписан» исчезла, я думаю, df был перезаписан.
Я пытаюсь использовать общедоступные данные о деятельности больницы и извлекать из нее данные. Я нейрохирург, поэтому вам, возможно, придется проявить терпение. Данные здесь https://files.digital.nhs.uk/77/0C8B3F/hosp-epis-stat-admi-proc-2018-19-tab.xlsx
Я хочу извлечь первые три столбца CSV в приведенном ниже коде и вывести в формате Excel.
Моя новая проблема заключается в том, что я не могу извлечь столбцы 'proc' и 'Все процедуры'.
Вот моя работа
import matplotlib.pyplot as plt
import pandas as pd
import pygal
import os
import webbrowser
Это импортирует одну вкладкутаблицы, которую я преобразовал в csv и переименовал
df = pd.read_csv('neuro_spine_craino_just_all4.csv')
df.head(5)
code proc All procedures Main procedure Male Female Gender Unknown Mean age Age 0 Age 1-4 ... Age 65-69 Age 70-74 Age 75-79 Age 80-84 Age 85-89 Age 90+ Day case Emergency Elective Other
0 A01.1 Hemispherectomy 20 20 8 12 0 11.0 0 7 ... 0 0 0 0 0 0 0 0 0 0 1A01.2 Полная лобэктомия головного мозга 53 53 37 16 0 40,0 1 1 ... 4 4 1 0 0 0 0 1 0 0 2 A01.3 Частичная лобэктомия головного мозга 174 148 95 79 0 41,0 1 5 ... 12 14 31 0 0 0 1 1 0 3 A01.8 Другие уточненные крупные иссечения ткани головного мозга 20 15 12 8 0 34,0 1 0 ... 0 0 0 0 0 0 0 0 0 0 4 A01.9 Неуточненные крупные иссечения тканимозг 3 3 0 3 0 39,0 0 0 ...
df.info
код процедуры Все процедуры
\ 0 A01.1 Гемисферэктомия 20
1 A01.2 Общая лобэктомия головного мозга 53
2 A01.3 Частичная лобэктомия головного мозга 174
3 A01.8 Другие уточненные крупные иссечения тканей головного мозга 20
4 A01.9 Неуточненные крупные иссечения тканей головного мозга 3
df.columns
Index([ 'код','proc', 'Все процедуры', 'Основная процедура', 'Мужской', 'Женский', 'Пол неизвестен', 'Средний возраст', 'Возраст 0', 'Возраст 1-4', 'Возраст 5-9', «10-14 лет», «15 лет», «16 лет», «17 лет», «18 лет», «19 лет», «20-24 лет», «25-29 лет», «30 лет»-34 ',' Возраст 35-39 ',' Возраст 40-44 ',' Возраст 45-49 ',' Возраст 50-54 ',' Возраст 55-59 ',' Возраст 60-64 ',' Возраст 65-69 ',' Возраст 70-74 ',' Возраст 75-79 ',' Возраст 80-84 ',' Возраст 85-89 ',' Возраст 90+ ',' Дневной случай ',' Чрезвычайная ситуация ',' Выборный ','Other'], dtype = 'object')
df['code'], ['proc'], ['All procedures']
Это даст мне только первый столбец и индекс.
(0 A01,1 1 A01,2 2 A01,3 3 A01,8 4 A01,9 5 A02,1 6 A02,2 7 A02,3 8 A02,4 9 A02,5 10 A02. 6 11 A02,7 12 A02,8 13 A02,9 14 A03,1 15 A03,2 16 A03,3