如何删除行并重命名 multiindex table
How to remove row and rename multiindex table
我有如下所示的多索引数据框,我想删除上面的行 'A'(比如向上移动数据框)
metric data data
F K
C B
A 2 3
B 4 5
C 6 7
D 8 9
期望的输出
ALIAS data data
metric F K
A 2 3
B 4 5
C 6 7
D 8 9
我查看了多个 post,但找不到更接近于创造预期结果的东西。如何获得所需的输出?
https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html
让我们尝试DataFrame.droplevel
to remove level 2 from the columns, and DataFrame.rename_axis
更新列轴名称:
df = df.droplevel(level=2, axis=1).rename_axis(['ALIAS', 'metric'], axis=1)
或者用索引等价的方法Index.droplevel
and Index.rename
:
df.columns = df.columns.droplevel(2).rename(['ALIAS', 'metric'])
df
:
ALIAS data
metric F K
A 2 3
B 4 5
C 6 7
D 8 9
设置:
import numpy as np
import pandas as pd
df = pd.DataFrame(
np.arange(2, 10).reshape(-1, 2),
index=list('ABCD'),
columns=pd.MultiIndex.from_arrays([
['data', 'data'],
['F', 'K'],
['C', 'B']
], names=['metric', None, None])
)
df
:
metric data
F K
C B
A 2 3
B 4 5
C 6 7
D 8 9
我有如下所示的多索引数据框,我想删除上面的行 'A'(比如向上移动数据框)
metric data data
F K
C B
A 2 3
B 4 5
C 6 7
D 8 9
期望的输出
ALIAS data data
metric F K
A 2 3
B 4 5
C 6 7
D 8 9
我查看了多个 post,但找不到更接近于创造预期结果的东西。如何获得所需的输出?
https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html
让我们尝试DataFrame.droplevel
to remove level 2 from the columns, and DataFrame.rename_axis
更新列轴名称:
df = df.droplevel(level=2, axis=1).rename_axis(['ALIAS', 'metric'], axis=1)
或者用索引等价的方法Index.droplevel
and Index.rename
:
df.columns = df.columns.droplevel(2).rename(['ALIAS', 'metric'])
df
:
ALIAS data
metric F K
A 2 3
B 4 5
C 6 7
D 8 9
设置:
import numpy as np
import pandas as pd
df = pd.DataFrame(
np.arange(2, 10).reshape(-1, 2),
index=list('ABCD'),
columns=pd.MultiIndex.from_arrays([
['data', 'data'],
['F', 'K'],
['C', 'B']
], names=['metric', None, None])
)
df
:
metric data
F K
C B
A 2 3
B 4 5
C 6 7
D 8 9