【发布时间】:2020-09-04 01:26:29
【问题描述】:
在这里没有找到类似的问题。
请在下面找到表格:
A B C D
0 pen nan dfds 1238
1 Apple pen fsd 324
2 Peach nan kd 878
3 grape peach jil 9kj
4 laptop nan lks 873p
5 light grape kje 7623d
6 nan grape 3r43 kj23
7 nan grape 3fdf 8734d
- 如果 B 列不为空,则将 B 中的值与 A 中的值进行比较,并尝试找到匹配的值。例如A 列第一行的“笔” = B 列第二行的“笔”。
- 如果识别出匹配的值,需要在A列中找到索引。例如"pen" 是匹配值,A 列中 "pen" 的索引为 0。
我的预期输出是:
A B C D
0 pen nan dfds 1238
2 Peach nan kd 878
3 grape peach jil 9kj
并保持输出示例中的原始索引号
我知道如何做 A 和 B 之间的匹配工作。我的代码是
df2=df[df[['A','B']].nunique(axis=1)==1]
但是当 B 列不为空时,我不知道如何添加条件。而且我不想做循环迭代,因为数据集超级大。
非常感谢!
【问题讨论】:
标签: python pandas null match string-matching