MultiIndex Pandas 不分组第一个索引级别
MultiIndex Pandas does not group first index level
我正在尝试创建一个 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
检查了每一列的非唯一值,答案是 False。
我检查了具有唯一值的列,答案是正确的。
我还尝试分配一个 dtype=str,这并没有改变任何东西。
感谢您的 info_new.index.is_lexsorted()
评论。
我通过在 .csv 导入中指定 dtype=str 解决了这个问题,然后:
info_new.sortlevel(inplace=True)
我正在尝试创建一个 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
检查了每一列的非唯一值,答案是 False。
我检查了具有唯一值的列,答案是正确的。
我还尝试分配一个 dtype=str,这并没有改变任何东西。
感谢您的 info_new.index.is_lexsorted()
评论。
我通过在 .csv 导入中指定 dtype=str 解决了这个问题,然后:
info_new.sortlevel(inplace=True)