【发布时间】:2018-02-03 12:37:45
【问题描述】:
我正在尝试在行中创建一个具有两级索引的 Pandas 数据框。
info = pd.DataFrame([['A', 1, 3],
['A', 2, 4],
['A', 3, 6],
['B', 1, 9],
['B', 2, 10],
['B', 4, 6]], columns=pd.Index(['C', 'D', 'V'])
info_new = info.set_index(['C', 'D'], drop=False)
编辑:我想要以下输出:
V
C D
A 1 3
2 4
3 6
B 1 9
2 10
4 6
根据我找到的每条指令,这应该可以。 我还在继续
V
C D
A 1 3
A 2 4
A 3 6
B 1 9
B 2 10
B 4 6
显然,多索引在这里不起作用。
我用.is_unique检查了每一列的非唯一值,答案是错误的。
我检查了具有唯一值的列,答案是真的。
我也尝试分配一个 dtype=str,这并没有改变任何东西。
【问题讨论】:
-
你希望输出是什么?
-
对不起,根据我的理解,这对我有用,你能发布你所看到的你认为是错误的内容
-
尝试打印
info_new.index。你应该得到MultiIndex(...) -
info_new.index.is_lexsorted()返回什么?如果是 lexsorted,它应该会如您所愿。 -
添加了输出。它说它是一个多索引,但它的行为不像一个。
标签: python pandas multi-index