删除/保留数据帧列

2024-04-20 02:41:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧从一个csv文件导入使用熊猫读取\u 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

我又开始了。“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”和“All procedures”。你知道吗

这是我的工作

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。。。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 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

索引(['code'、'proc'、'All procedures'、'Main procedures'、'Male'、'Female', '性别未知','平均年龄','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


Tags: csv数据importdfageobjectisnot
1条回答
网友
1楼 · 发布于 2024-04-20 02:41:17

要从数据帧中提取这些列,您可以

result = df[['code', 'proc', 'All procedures']]

或者

result = df.loc[:, ['code', 'proc', 'All procedures']]

请参阅熊猫文档here以获取有关此操作的信息—称为切片

您的问题不包括传递到数据帧的一个列表中的列-只有'code'被传递到实际的df选择器

相关问题 更多 >