我试图根据其他列的内容查找数据帧的某些列中的特定值。 基本上,如果列_1==1中的一行,那么我们希望数据在同一行,列_2中。 我有很多要查找的值,所以我将它们存储在字典中,因为这似乎是解决问题的直观方法,但我无法让我的函数保持不变。我对功能还不是很在行
输入示例:
| patient_id | delirium_date | delirium_sae | syncope_date | syncope_sae | tia_date | tia_sae |
|------------|---------------|--------------|--------------|-------------|------------|---------|
| 1 | 01-08-2020 | 1 | | | | |
| 1 | 03-08-2020 | 0 | | | | |
| 2 | | | 02-08-2020 | 1 | | |
| 2 | | | 02-08-2020 | 1 | | |
| 3 | | | | | 04-08-2020 | 1 |
| 3 | 31-07-2020 | 0 | 01-07-2020 | 0 | 20-07-2020 | 0 |
| 3 | 02-08-2020 | 1 | | | | |
lookup_dictionary = {'delirium_sae' : 'delirium_date',
'syncope_sae' : 'syncope_date',
'tia_sae' : 'tia_date'}
因此,如果任何列(dict(键))设置为“1”,则获取列(dict(值)) 期望输出:
| patient_id | delirium_date | syncope_date | tia_date |
|------------|---------------|--------------|------------|
| 1 | 01-08-2020 | | |
| 1 | | | |
| 2 | | 02-08-2020 | |
| 2 | | 02-08-2020 | |
| 3 | | | 04-08-2020 |
| 3 | | | |
| 3 | 02-08-2020 | | |
注意:它不需要保留空的患者id行或空列
正如我所说,我不擅长使用函数,所以如果有人能慢慢地引导我,我应该在构建函数时思考一下,那么我希望下次可以自己做一个函数
使用^{} 根据与字典键关联的列屏蔽与字典值关联的列:
结果:
为了正确工作,必须匹配字典的所有键和值
Idea是通过字典的键选择所有列,通过} 中的dictional值选择的匹配列重命名列:
1
进行比较,并为通过^{相关问题 更多 >
编程相关推荐