减少Pandas数据帧中的冗余索引

2024-10-01 02:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框q,它是按药物和剂型索引的。我注意到,当数据帧未排序时,dataframe在两个不同的位置显示相同的索引plavix。我通过在q的末尾添加.sort_index()来解决这个问题(参见输出1)。我有两个问题:(1)有没有更好的方法来实现产出1;(2)我如何才能实现下面的产出2。谢谢。在

q = pd.DataFrame(np.array([1,2,3,4]), index=[pd.Series(['plavix', 'warfarin', 
                 'plavix', 'plavix'], index=[0,1,2,3]), pd.Series(['tab', 
                 'inj', 'cap', 'tab'], index=[0,1,2,3])], columns=['app_num'])

输出:

^{pr2}$

输出1:

                app_num
warfarin inj        2
plavix   cap        3
         tab        1
         tab        4

输出2:

                app_num
warfarin inj        2
plavix   cap        3
         tab        1
                    4

Tags: 数据appdataframeindex排序tabnumseries
1条回答
网友
1楼 · 发布于 2024-10-01 02:27:22

对于输出1,您需要一个简单的sort_index。在

q.sort_index(level=0, ascending=False)

              app_num
warfarin inj        2
plavix   tab        1
         tab        4
         cap        3

对于输出2,在对索引排序之前,需要附加一个额外的级别。在

^{pr2}$

相关问题 更多 >