python - Python:从 DataFrame 多索引中删除列
问题描述
我有以下数据框:
data_raw (201 x 600)
Column Level 0: ROE_1 ROE_2 Test_EQ_1
Column Level 1: A B C D E F G H I J .... (200 items)
Index Level 0: 1 2 3 4... (201 items)
我正在尝试删除该Test_EQ_1
列。
使用后:
data_raw = data_raw.drop("Test_EQ_1", axis=1, level=0)
数据框的尺寸减小到 201x400(如预期的那样)。所有带有的列Test_EQ_1
都消失了(如预期的那样)。
但是,当我使用以下内容时:
data_raw.columns.levels[0]
我得到:
Index(['ROE_1', 'ROE_2', **'Test_EQ_1'**], dtype='object', name='Variable')
这会为我的代码的后面部分产生问题,就像Test_EQ_1
从数据框中消失的那样,但在我检查列时仍然存在。
有没有办法“完全”删除Test_EQ_1
?
解决方案
找到答案:重新定义列:
multi = data_raw.columns.to_list()
data_raw.columns = pd.MultiIndex.from_tuples(multi)
推荐阅读
- php - 如何在 Alpine Linux 的 Php7 中启用短标签?
- c# - 查询值和目标字段的数量不同 - C# 脚本任务 SSIS - 使用动态列将 SQL Proc 的结果导出到 Excel
- swift - 如何在 Swift 中将 MapView 添加到另一个视图?
- sql - 从一个句子中获取另一个字符串出现的字符串
- android - 将 Firebase 云消息发送到关闭的应用程序不起作用
- ios - 向标准文本库 UIBarButtonItem 添加操作
- azure - CloudBlobClient 和 BlobClient 的区别
- ruby-on-rails - 每个 Rails 引擎的会话存储
- apache-kafka - Kafka 压缩在消费者端失败
- pine-script - Pine 编辑器中的编号栏