如何在 python pandas 中找到具有多个索引的两个数据框列中的最小值?
How do i find the minimum of two dataframe columns with multi-indices in python pandas?
我有两个 pandas 数据帧 df1
和 df2
。 df1
有一个多索引:
A
instance index
a 0 10
1 11
2 7
b 0 8
1 9
2 13
框架df2
与df1
具有相同的一级索引:
B
instance
a 5
b 12
我想做两件事:
1) 将df2
中的值分配给df1
的所有行
A B
instance index
a 0 10 5
1 11 5
2 7 5
b 0 8 12
1 9 12
2 13 12
2) 创建一个数据框对象,表示 A
和 B
中的最小值,而不像上面那样连接两个数据框:
min(df1,df2):
min
instance index
a 0 5
1 5
2 5
b 0 8
1 9
2 12
对于您的第一个请求,您可以使用 DataFrame.join
:
>>> df1.join(df2)
A B
instance index
a 0 10 5
1 11 5
2 7 5
b 0 8 12
1 9 12
2 13 12
对于第二个对象,您只需对该对象调用 min(axis=1)
:
>>> df1.join(df2).min(axis=1).to_frame("min")
min
instance index
a 0 5
1 5
2 5
b 0 8
1 9
2 12
我有两个 pandas 数据帧 df1
和 df2
。 df1
有一个多索引:
A
instance index
a 0 10
1 11
2 7
b 0 8
1 9
2 13
框架df2
与df1
具有相同的一级索引:
B
instance
a 5
b 12
我想做两件事:
1) 将df2
中的值分配给df1
A B
instance index
a 0 10 5
1 11 5
2 7 5
b 0 8 12
1 9 12
2 13 12
2) 创建一个数据框对象,表示 A
和 B
中的最小值,而不像上面那样连接两个数据框:
min(df1,df2):
min
instance index
a 0 5
1 5
2 5
b 0 8
1 9
2 12
对于您的第一个请求,您可以使用 DataFrame.join
:
>>> df1.join(df2)
A B
instance index
a 0 10 5
1 11 5
2 7 5
b 0 8 12
1 9 12
2 13 12
对于第二个对象,您只需对该对象调用 min(axis=1)
:
>>> df1.join(df2).min(axis=1).to_frame("min")
min
instance index
a 0 5
1 5
2 5
b 0 8
1 9
2 12