它的基本行为是尝试将值与同一标签配对。如果找不到标签,则分配NaN
。如果标签在左边或右边(但不是两个)不是唯一的,那么它会用尽所有的可能性。例如
pd.Series((2,3), ("a","b")) * pd.Series((5,7), ("b","b"))
退货:
a NaN
b 15.0
b 21.0
以及
pd.Series((2,3), ("b","b")) * pd.Series((5,7), ("a","b"))
退货
a NaN
b 14.0
b 21.0
但是如果标签在左边和右边不是唯一的,例如
pd.Series((2,3), ("b","b")) * pd.Series((5,7), ("b","b"))
你得到了吗
b 10
b 21
我宁愿期待它用尽一切可能,即返回
b 10
b 14
b 15
b 21
什么决定了它返回的值的子集?是否基于行顺序?如果是这样,这种行为的理由是什么?你知道吗
谢谢。你知道吗
下面是一个有趣的观察:
索引:
不同索引的乘法:
但如果索引相同:
DataFrame.join()将按您的意愿加入副本:
相关问题 更多 >
编程相关推荐