Pandas 从另一个数据帧的行值中提取数据帧中的特定行值

Pandas 从另一个数据帧的行值中提取数据帧中的特定行值,pandas,dataframe,data-extraction,Pandas,Dataframe,Data Extraction,我有这样一个数据帧(df1): X Y 1 200.0 50 2 200.1 57 3 200.2 69 4 200.3 77 5 200.5 84 6 200.6 93 X 1 200.0 2

我有这样一个数据帧(df1):

           X        Y
1          200.0    50            
2          200.1    57    
3          200.2    69
4          200.3    77
5          200.5    84
6          200.6    93

           X
1          200.0                
2          200.5    

           X        Y
1          200.0    50                 
2          200.5    84

我还有另一个数据帧(df2),如下所示:

           X        Y
1          200.0    50            
2          200.1    57    
3          200.2    69
4          200.3    77
5          200.5    84
6          200.6    93

           X
1          200.0                
2          200.5    

           X        Y
1          200.0    50                 
2          200.5    84

我想将与df2的X值相匹配的df1的Y值提取到df2中,它如下所示:

           X        Y
1          200.0    50            
2          200.1    57    
3          200.2    69
4          200.3    77
5          200.5    84
6          200.6    93

           X
1          200.0                
2          200.5    

           X        Y
1          200.0    50                 
2          200.5    84

我怎样才能解决这个问题,比如熊猫和努比?不幸的是,我是python新手,对此一无所知

多谢各位

致以最良好的祝愿, DocSnyda

pd.merge()
是我们在提出“在另一个df中查找内容”的要求时首先想到的,但是
df.loc[]
本身也有“查找内容”的含义

"""set the df1 and df2 up """
import pandas as pd
import numpy as np

s ="""20000
20000
20000
200.4
200.5
200.6"""  
df1 = pd.DataFrame(s.split('\n'), columns=['X'])

df1['Y'] = """50
57
69
77
84
93""".split('\n')

df2 = df1.iloc[[0, 5], :]
df2 = df2.drop(columns=['Y'])
print(df1)
print(df2)



""" the anwser to your question here: """
print(
    df1.loc[df1.X.isin(df2.X), :].drop_duplicates(subset='X')
)

非常感谢,这很有效!!有没有办法避免提取双X值?有些行具有相同的X值,我只想提取其中一行。提取哪个X值无关紧要,因为它们是相同的。编辑以满足新的要求。请记住接受并投票。谢谢