gpt4 book ai didi

python - 将包含两部分的列转换为 MultiIndex

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

我有以下 DataFrame(从我无法更改的 CSV 文件中读取):

df = pd.DataFrame([['low', 0.5, 123, 0.8, 123], 
['high', 0.7, 253, 0.9, 147]],
columns=['type', 'g1 v0', 'g1 v1', 'g2 v0', 'g2 v1'])

我想在多重索引中“拆分”列 g1 v0g1 v1 等,例如喜欢:

                   g1            g2
v0 v1 v0 v1
type
0 low 0.5 123 0.8 123
1 high 0.7 253 0.9 147

基本上,我希望将列名的 gx/vy 部分放入两个单独的级别。

最佳答案

使用set_index + split :

df = df.set_index('type')
df.columns = df.columns.str.split(expand=True)
print (df)
g1 g2
v0 v1 v0 v1
type
low 0.5 123 0.8 123
high 0.7 253 0.9 147

另一种解决方案 drop , splitconcat :

df1 = df.drop('type', axis=1)
df1.columns = df1.columns.str.split(expand=True)
print (df1)
g1 g2
v0 v1 v0 v1
0 0.5 123 0.8 123
1 0.7 253 0.9 147

df = pd.concat([df['type'].rename(('','type')), df1], axis=1)
print (df)
g1 g2
type v0 v1 v0 v1
0 low 0.5 123 0.8 123
1 high 0.7 253 0.9 147

关于python - 将包含两部分的列转换为 MultiIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279145/

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