我有一个使用Pandas read_csv从csv文件导入的数据框。它的形状是735、36。我需要删除最后33列-保留前3列。
列为'code'
,'proc'
,'All procedures'
我尝试了所有建议here
无论我做什么,都会出现以下错误:
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
我又开始了。 “布尔对象不可下标”错误已经消失,我认为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半球形切除术20 20 8 12 0 11.0 0 7 ... 0 0 0 0 0 0 0 0 0 0 1 A01.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 3 1 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 0 4 A01.9未指定的脑组织主要切除术3 3 0 3 0 39.0 0 0 ...
df.info
代码proc所有过程
\
0 A01.1半球切除术20
1 A01.2脑全叶切除术53
2 A01.3脑局部叶切除术174
3 A01.8其他指定的脑组织主要切除20
4 A01.9未明确说明的脑组织主要切除3
df.columns
索引(['代码','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+', [日间情况],[紧急情况],[选修],[其他]], 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
答案 0 :(得分:0)
要从数据框中提取这些列,您可以执行以下任一操作
result = df[['code', 'proc', 'All procedures']]
或
result = df.loc[:, ['code', 'proc', 'All procedures']]
有关此信息-称为切片,请参见pandas docs here
您的问题不包括传递到数据框的一个列表中的列-仅将'code'
传递给实际的df
选择器