Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python数据子集-选择值。。。从DF1。。。其中值存在于DF2中_Python_Sql_Pandas_Dataframe_Subset - Fatal编程技术网

Python数据子集-选择值。。。从DF1。。。其中值存在于DF2中

Python数据子集-选择值。。。从DF1。。。其中值存在于DF2中,python,sql,pandas,dataframe,subset,Python,Sql,Pandas,Dataframe,Subset,我试图创建一个数据帧,部分是通过查看另一个数据帧中是否存在值。以下是我尝试执行的SQL版本: SELECT * FROM DF1 WHERE Patient_alive='still_alive' AND Patient_ID in (SELECT Pat_ID from DF2) 这是我正在苦苦挣扎的代码,最后一行是我无法理解的,我有两个关于PT_ID的伪代码版本: DF3 = DF1[ (DF1['Patient_alive'].str.contains('still_

我试图创建一个数据帧,部分是通过查看另一个数据帧中是否存在值。以下是我尝试执行的SQL版本:

SELECT *
FROM DF1
WHERE 
Patient_alive='still_alive' 
AND Patient_ID in (SELECT Pat_ID from DF2)
这是我正在苦苦挣扎的代码,最后一行是我无法理解的,我有两个关于PT_ID的伪代码版本:

DF3 = DF1[
        (DF1['Patient_alive'].str.contains('still_alive', case=False))&
        #(DF1['PT_ID'].isin(DF2))
        (DF1['PT_ID'].contains(DF2, case=False))
]
更新1:

df1的输入数据:

Patient_ID | Patient_Alive | Patient_Name
12345      | StillAlive    | Knowles, Archibald
23456      | NotAlive      | Hauzer, Bruno
911235     | StillAlive    | Samarkand, Samsonite VII
df2的输入数据:

PT_ID
12345
22222
55555
99999
Df3期望输出:

Patient_ID | Patient_Alive | Patient_Name
12345      | StillAlive    | Knowles, Archibald

这是一个良好的开端。您可以发布您的示例输入数据和预期输出数据吗?有关更多信息,请参阅。由于两个数据帧共享密钥,您不能在
Patiend\u ID
/
Pat\u ID
上进行联接吗?相关方法:我更新了df1和df2的样本。我将按照tugayac的建议尝试join方法,否则我将非常感谢关于如何在我开始使用的代码中处理这个问题的任何想法。我也认为join是最好的方法,但是如果您真的想这样做,那么最后一行应该是类似于
DF2['PT_ID'].contains(DF1['Patient_ID'])
?请尝试
isin()
,而不是包含。