考虑以下 Dataframe df1
和df2
:
df1:
sim_names Model 1
signal_names my_y1 my_y2
units °C kPa
(Time, s)
0.0 0.738280 1.478617
0.1 1.078653 0.486527
0.2 0.794123 0.604792
0.3 0.392690 1.072772
df2:
Empty DataFrame
Columns: []
Index: [0.0, 0.1, 0.2, 0.3]
如您所见,df1
有三个级别,名称为"sim_names", "signal_names" and "units"
。
接下来,我想连接两个 Dataframe ,因此我运行以下命令:
df2 = pd.concat(
[df1, df2],
axis="columns",
)
但我得到的是
df2:
Model 1
my_y1 my_y2
°C kPa
(Time, s)
0.0 0.738280 1.478617
0.1 1.078653 0.486527
0.2 0.794123 0.604792
0.3 0.392690 1.072772
如您所见,级别名称已消失。
我应该怎么做才能在结果df2
中保留df1
的级别名称?
我想要的结果df2
应该像下面这样:
df2:
sim_names Model 1
signal_names my_y1 my_y2
units °C kPa
(Time, s)
0.0 0.738280 1.478617
0.1 1.078653 0.486527
0.2 0.794123 0.604792
0.3 0.392690 1.072772
我尝试将names=["sim_names", "signal_names", "units"]
作为参数传递给pd.concat
,但得到了与上面相同的错误结果。
1条答案
按热度按时间b4lqfgs41#
我不确定,但似乎这是正常行为(见 * GH 13475 *)。
作为解决方法,您可以使用
rename_axis
/names
:输出: