我有一个数据框
plan_identifier wellthie_issuer_identifier
0 UNM99901AL0000001-DEN UNM99902
1 UNM99902AK0000001-DEN UNM99902
2 UNM99904AZ0000001-DEN UNM99904
3 UNM99905AR0000001-DEN UNM99905
4 UNM99906CA0000001-DEN UNM99906
5 UNM99908CO0000001-DEN UNM99909
6 UNM99909CT0000001-DEN UNM99909
我需要检查获得
plan_identifier
长度后考虑的wellthie_issuer_identifier
子字符串是否相等?UNM99902
的扩展名是8,所以我的plan_identifier
子字符串= UNM99901
。现在,这应该使我返回False。因此,无论哪里不相等,我都应该为False。
我的输出应该是:
FALSE
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
我尝试了以下内容-
print(~(df['plan_identifier'].str[:(df['wellthie_issuer_identifier'].astype(str).str.len())] != df['wellthie_issuer_identifier']))
如何实现呢?我们可以使用apply()吗?
最佳答案
使用defchararray.find
中的numpy
s1=df.plan_identifier.values.astype(str)
s2=df.wellthie_issuer_identifier.values.astype(str)
~np.core.defchararray.find(s1,s2).astype(bool)
Out[64]: array([False, True, True, True, True, False, True])
关于python - 根据 Pandas 中另一列的长度获取子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53747052/