gpt4 book ai didi

python - 为已被 set_index() 更改的数据帧提供正常索引

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:41 24 4
gpt4 key购买 nike

我有一个如下所示的数据框:

    Priority    RID_solve   Prob    RID_prob    Remarks
0 1 5001 34.4% 5040 Caution: FIDs are different
1 1 5001 38.5% 5057 Caution: FIDs are different
2 1 5001 3.3% 5056 Caution: FIDs are different
3 2 5002 74.0% 5057 Caution: FIDs are different
4 2 5002 87.6% 5056 Caution: FIDs are different
5 3 5003 89.4% 5056 Same FID
6 3 5003 89.4% 5056 Caution: FIDs are different

然后我使用 set_index() 对相似的 PriorityRID_solve 数据进行分组,以便删除重复项。这是我写的代码:

df1 = df.set_index(['Priority', 'RID_solve', 'Prob', 'RID_prob', 'Remarks']).sort_values(by=['Priority'], ascending = True)

它给出了这样的数据:

enter image description here

这就是我想要的。但我还需要以 0 开头的普通索引。到目前为止,我无法弄清楚如何获得它。我试过 reset_index() 但这只会将我的数据改回原来的形式。

有没有办法既保持上述格式完整又能获取索引?

最佳答案

Then I use set_index() to group the similar Priority and RID_solve data so that the repetition could be removed.

不,你错了。重复不会被删除,只是不会显示,所以你必须决定是否需要 MulitIndex 或默认 RangeIndex

你可以检查一下:

df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[1] * 6,
'F':list('aaabbb')
})

df = df.set_index(['C','B', 'A'])
print (df)
F
C B A
1 4 a a
5 b a
4 c a
5 d b
e b
4 f b

with pd.option_context('display.multi_sparse', False):
print (df)
F
C B A
1 4 a a
1 5 b a
1 4 c a
1 5 d b
1 5 e b
1 4 f b

编辑:

如有必要,您可以用缺失值替换重复值:

df = pd.DataFrame({
'A':[1] * 6,
'B':[4,5,4,5,5,4],
'C':list('abcdef'),
'F':list('aaabbb')
})

cols = ['A','B', 'C']
m = df[cols].apply(lambda x: x.duplicated())


df[cols]= df[cols].mask(m, '')
print (df)
A B C F
0 1 4 a a
1 5 b a
2 c a
3 d b
4 e b
5 f b

但如果重复的不在第一列,只在第二列或更多列,则得到:

df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[1] * 6,
'F':list('aaabbb')
})


cols = ['A','B', 'C']
m = df[cols].apply(lambda x: x.duplicated())


df[cols]= df[cols].mask(m, '')
print (df)

A B C F
0 a 4 1 a
1 b 5 a
2 c a
3 d b
4 e b
5 f b

关于python - 为已被 set_index() 更改的数据帧提供正常索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58322288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com