gpt4 book ai didi

python - 防止在 pandas 中对列名进行排序 - python

转载 作者:行者123 更新时间:2023-11-28 22:35:22 24 4
gpt4 key购买 nike

df = pd.DataFrame(data={'i1':['x','x','x','x','y','y','y','y'], 'i2':['f','a','w','h','f','a','w','h'], 'c1':np.random.randn(8),'c2':np.random.randn(8)})
df.set_index(['i1','i2'],inplace=True)

df.unstack('i2') 按字母顺序对 i2 中的列名进行排序。我怎样才能阻止这种排序并保持原始序列 (f a w h)

最佳答案

您可以使用有序分类:

df['i2'] = pd.Categorical(df.i2, categories=['f', 'a', 'w', 'h'], ordered=True)

df.set_index(['i1','i2'],inplace=True)
print (df)

print (df.unstack('i2'))
c1 c2 \
i2 f a w h f a w
i1
x -0.663218 1.005395 0.236088 1.416896 2.729855 0.141692 0.136700
y 0.509393 0.370418 -1.301840 -1.067212 0.945016 -0.617570 1.377235


i2 h
i1
x -0.029020
y -2.346038

关于python - 防止在 pandas 中对列名进行排序 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38241835/

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