pandas - 使用 Pandas 删除多列
问题描述
我有以下数据集。我试图弄清楚如何通过“Unnamed 9”删除列“Unnamed 5”。我已经尝试了下面的代码,但它不起作用。
数据(名为 mapping_table):
Gender|Age|Weight|Height|Unnamed 5| Unnamed 6| Unnamed 7| Unnamed 8| Unnamed 9|
代码:
mapping_table.drop(mapping_table.index[(mapping_table.columns.get_loc("Unnamed: 11")):(mapping_table.columns.get_loc("Unnamed: 19"))],axis=1,inplace=True)
错误:
KeyError: 'labels [11 12 13 14 15 16 17 18] not contained in axis'
有没有更简单的方法来做到这一点?我觉得我应该可以使用 mapping_table.drop([mapping.table["Unnamed 5":"Unnamed 9"]])
解决方案
数据:
df = pd.DataFrame(None, columns = "Gender|Age|Weight|Height".split('|')+['Unnamed ' + str(x) for x in range(0,15)])
Empty DataFrame
Columns: [Gender, Age, Weight, Height, Unnamed 0, Unnamed 1, Unnamed 2, Unnamed 3, Unnamed 4, Unnamed 10, Unnamed 11, Unnamed 12, Unnamed 13, Unnamed 14]
Index: []
代码:
df = df.drop(df.columns[df.columns.str.contains('Unnamed\s[5-9]')], axis = 1)
结果:
Empty DataFrame
Columns: [Gender, Age, Weight, Height, Unnamed 0, Unnamed 1, Unnamed 2, Unnamed 3, Unnamed 4, Unnamed 10, Unnamed 11, Unnamed 12, Unnamed 13, Unnamed 14]
Index: []
推荐阅读
- html - 使用浮动时保持底部边距
- swift - TableView里面的CollectionView
- c# - 未找到匹配项时从 List<> 返回默认值
- visual-studio - 用于单元测试的每个文件的可执行目标
- ruby-on-rails - 在 Rails 控制台中使用联接的 Update_all 查询
- javascript - 如何防止在等待ajax执行时发送多个请求?
- html - 如何通过单击其父级来显示子级的活动状态?
- c++ - 可变参数模板方法专业化
- c++ - Adobe DISPATCH_METHOD 用于禁用导航栏、书签和右键单击等 (MFC)
- google-maps - 保护 Places 服务的 Google API 密钥的正确方法是什么?