Python 基于与其他数据帧的比较选择数据帧行
我有两个这样的数据帧:Python 基于与其他数据帧的比较选择数据帧行,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有两个这样的数据帧: df_A = pd.DataFrame({ 'id': [2], 'number': [20] }) df_B = pd.DataFrame({ 'words': ['Hello', 'world', 'aloha'], 'id': [3, 4, 1], 'number': [17, 18, 10] }) words id number Hello 3
df_A = pd.DataFrame({
'id': [2],
'number': [20]
})
df_B = pd.DataFrame({
'words': ['Hello', 'world', 'aloha'],
'id': [3, 4, 1],
'number': [17, 18, 10]
})
words id number
Hello 3 17
World 4 18
我只想从df_B
中选择满足以下条件的行:
(df_B.id >= df_A.id ) & (df_B.number <= df_A.number)
当我将
df_A
的值作为标量进行比较时,这似乎是可行的,但我希望通过比较数据帧得到更好的解决方案。非常感谢您的帮助。您需要交叉连接一个数据帧
,以便进行比较和筛选:
df = df1.assign(a=1).merge(df2.assign(a=1), on='a')
df = df[(df.id_x >= df.id_y ) & (df.number_x <= df.number_y)]
df=df1.assign(a=1)。merge(df2.assign(a=1),on='a')
df=df[(df.id\u x>=df.id\u y)&(df.number\u x通过比较数据帧,你是什么意思?df\u A中有多个值?那么比较将是模糊的。谢谢,它起作用了。检查答案延迟的原因是计算机出现了一些问题。