我想连接两个具有相同索引但不同列级别的数据帧.一个数据帧具有分层索引,另一个数据帧不具有分层索引.
print df1
A_1 A_2 A_3 .....
Value_V Value_y Value_V Value_y Value_V Value_y
instance200 50 0 6500 1 50 0
instance201 100 0 6400 1 50 0
Run Code Online (Sandbox Code Playgroud)
另一个:
print df2
PV Estimate
instance200 2002313 1231233
instance201 2134124 1124724
Run Code Online (Sandbox Code Playgroud)
结果应如下所示:
PV Estimate A_1 A_2 A_3 .....
Value_V Value_y Value_V Value_y Value_V Value_y
instance200 2002313 1231233 50 0 6500 1 50 0
instance201 2134124 1124724 100 0 6400 1 50 0
Run Code Online (Sandbox Code Playgroud)
但是框架上的合并或连接将给我一个带有一维列索引的df,如下所示:
PV Estimate (A_1,Value_V) (A_1,Value_y) (A_2,Value_V) (A_2,Value_y) .....
instance200 2002313 1231233 …Run Code Online (Sandbox Code Playgroud) 我有一个带有多级索引(“实例”和“索引”)的 Pandas DataFrame。我想找到所有非唯一的第一级(“实例”)索引值并打印出这些值。
我的框架看起来像这样:
A
instance index
a 1 10
2 12
3 4
b 1 12
2 5
3 2
b 1 12
2 5
3 2
Run Code Online (Sandbox Code Playgroud)
我想找到“b”作为重复的 0 级索引并将其值(“b”)打印出来。
我想旋转一个数据框,例如:
dim1 Value_V Value_y instance
0 A_1 50.000000 0 instance200
1 A_2 6500.000000 1 instance200
2 A_3 50.000000 0 instance200
3 A_4 4305.922313 1 instance200
Run Code Online (Sandbox Code Playgroud)
进入具有分层列的数据框,如下所示:
A_1 A_2 A_3 .....
Value_V Value_y Value_V Value_y Value_V Value_y
instance200 50 0 6500 1 50 0
Run Code Online (Sandbox Code Playgroud)
我尝试过df = df.pivot(index = "instance", columns = "dim1"),但它只会给我一个这样的框架:
Value_V Value_y
A_1 A_2 A_3 .... A_1 A_2 A_3 ....
instance200 50 6500 50 0 1 0
Run Code Online (Sandbox Code Playgroud)
如何更改列的层次结构?