【发布时间】:2021-06-14 01:14:09
【问题描述】:
import pandas as pd
import re
regexdf_data = {
'STag': ['Title_1', 'Abs_1', 'Abs_3', 'Abs_4'],
'E1': ['pacnes', 'acne|dfe|sac', 'pI', 'kera'],
'E1_CUI': ['C3477', 'C2166', 'C9871', 'C2567']
}
df3 = pd.DataFrame(regexdf_data)
df3
E1 E1_CUI STag
0 pacnes C3477 Title_1
1 acne|dfe|sac C2166 Abs_1
2 pI C9871 Abs_3
3 kera C2567 Abs_4
现在,当相应行的 STag 列中有 Abs_1 值时,我只想要 E1 列的痤疮|dfe|sac 值代替 E1_CUI 列的 C2166 的痤疮。
我已经尝试过这个df3.loc[df3['STag'] == 'Abs_1', 'E1_CUI'] = re.split("\|",df3['E1']),但它不起作用。
Expected Output
E1 E1_CUI STag
0 pacnes C3477 Title_1
1 acne|dfe|sac acne Abs_1
2 pI C9871 Abs_3
3 kera C2567 Abs_4
【问题讨论】:
-
你如何确定它应该是
acne?它是对特定单词的匹配还是只是|上的第一个拆分? -
@ALollz 是的,它应该被视为简单的第一次拆分 |
标签: python regex pandas dataframe replace