【发布时间】:2019-10-02 21:31:43
【问题描述】:
我尝试使用 df.columns 从我的数据框中提取列,我得到:
MultiIndex([( 'time', ''),
('numbers', 11),
('numbers', 12),
('numbers', 13),
('numbers', 14)],
names=[None, 'letters'])
我以前从未使用过 MultiIndex,所以我现在很困惑如何将“时间”作为列而不是索引,所以我可以从此 DataFrame 中获取:
df =
time numbers
letters a b c d
0 22:45:00 1016.0 1059.0 1042.0 1007.0
1 23:00:00 1006.0 10507.0 1040.0 1084.0
2 23:15:00 1084.0 1058.0 1047.0 1495.0
3 23:30:00 1095.0 1498.0 1480.0 1048.0
4 23:45:00 1098.0 1002.0 1044.0 1084.0
5 00:00:00 1044.0 1517.0 1084.0 1051.0
(最好只删除 MultiIndex) 所以它类似于:
df =
time a b c d
0 22:45:00 1016.0 1059.0 1042.0 1007.0
1 23:00:00 1006.0 1007.0 1040.0 1084.0
2 23:15:00 1084.0 1058.0 1047.0 1495.0
3 23:30:00 1095.0 1498.0 1480.0 1048.0
4 23:45:00 1098.0 1002.0 1044.0 1084.0
5 00:00:00 1044.0 1517.0 1084.0 1051.0
我尝试过使用 droplevel 但我得到了
无法从具有 1 个级别的索引中删除 1 个级别:必须至少保留一个级别。
这是因为索引在列而不是行中吗?
【问题讨论】:
-
在索引中设置“时间”,然后在 df.columns 上使用 droplevel(0)。
标签: python pandas multi-index