我想连接(按索引)或合并两个pandas DataFrames。但是,如果两个DataFrames不共享相同的索引(可能是MultiIndex),我希望此操作失败。
pandas是否提供了一种在组合此类数据集时声明这一点的方法?
例如:
import numpy as np
import pandas as pd
rng = np.random.default_rng(42)
df1 = pd.DataFrame({'A': rng.integers(0, 10, size=3)}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'B': rng.integers(0, 10, size=3)}, index=['a', 'b', 'd'])
pd.merge(df1, df2, left_index=True, right_index=True)
A B
a 0.0 0.0
b 7.0 6.0
c 6.0 NaN
d NaN 2.0
我希望这会引发一个错误,因为索引不匹配。
pandas的合并函数(merge、concat、join等)是否提供了任何类型的索引检查?
1条答案
按热度按时间mdfafbf11#
你可以挂接方法(或函数):
免责声明:这只是为了演示的目的,我认为你不应该在生产中使用这些代码。你可以在合并,concat,join,...之前保留
assert
的想法。试试看: