在列中查找与其他数据帧列中的任何其他值匹配的行号

2024-09-27 22:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个密码:

import pandas as pd
import numpy as np

arm_1_and_m1_df = pd.DataFrame({ 'record_id': [1, 4, 3, np.nan],
                   'two': [1, 2, np.nan , 4]
                 })

redcap_final_arm1_data = pd.DataFrame({ 'record_id': [1, 2, 3, 4, 5, 6, 7, 8, 9, np.nan],
                   'two': [1, 2, 3, 4, 5, 6, 7, 8, 9, np.nan]
                 })

ahk_ids_new=[]
for items in arm_1_and_m1_df['record_id'].iteritems():     # https://www.geeksforgeeks.org/python-pandas-series-iteritems/
    ahk_ids_new.append(np.where(redcap_final_arm1_data['record_id'] == items))    # https://stackoverflow.com/questions/48519062/rs-which-and-which-min-equivalent-in-python

在运行上述代码和ahk_ids_new之后ahk_ids_new的内容是:

[(array([], dtype=int64),),
 (array([], dtype=int64),),
 (array([], dtype=int64),),
 (array([], dtype=int64),)]

redcap_final_arm1_data['record_id']中的值是唯一的

问题:我想获取ahk_ids_newredcap_final_arm1_data['record_id']的所有行号(索引),其中redcap_final_arm1_data['record_id']的值与arm_1_and_m1_df['record_id']中的任何值相同。怎么做

{}的预期输出(内容):

Out[57]: [0, 3, 2, 9]

如果有更好的方法来处理我代码中的数据帧,请发布更好的变体,而不是修复我的代码


Tags: andididsnewdatanpnanrecord

热门问题