我有一个这样的df
c_name f_name
0 abc abc12
1 xyz abc1
2 mnq mnq2
目标是在两列之间找到一个子串,并知道它属于哪一列。首选项应该是c_name
,就像如果子串在两列中,那么c_name
将优先于例如:如果我在上面的数据框中搜索abc
,那么我应该以某种方式为c_name
获得第0行abc
,为{abc1
。在
为了解决这个问题我从
df[df['c_name'].str.contains('abc', case=False)]
这将给出c_name
的结果。现在的问题是如何排除那些在f_name
上执行相同操作的结果的行。非常感谢任何帮助!在
输出
^{pr2}$将第一个搜索结果标记为2。如果新的搜索结果满足,则将覆盖(由1覆盖)。在
stack
变成一个系列str.contains
获取子字符串的真值unstack
返回dataframeidxmax(1)
得到列中的第一个True
^{pr2}$
相关问题 更多 >
编程相关推荐