我正在尝试在行中创建一个带有两级索引的Pandas Dataframe。
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。
我检查了具有唯一值的列,答案是True。
我也尝试分配一个dtype = str,这没有改变任何东西。
答案 0 :(得分:0)
感谢您发表info_new.index.is_lexsorted()
评论。
我通过在.csv导入中指定dtype = str来解决它,然后:
info_new.sortlevel(inplace=True)