我想提取两个前符号,以防前三个符号匹配某个模式(前两个符号应该是括号内的任何符号[ptkbdgG_fvsSxzZhmnNJlrwj],第三个符号应该是括号内的任何符号[IEAOYye|aouKLM@)3*<;(#0~q^LMOEK]
前两行工作正常。 最后几行不起作用,我不明白为什么。代码没有给出任何错误,只是对这些错误没有任何作用
# extract tree first symbols and save them in the new column
df['first_three_symbols'] = df['ITEM'].str[0:3]
#create a boolean column on condition whether first three symbols contain symbols
df["ccv"] = df["first_three_symbols"].str.contains('[ptkbdgG_fvsSxzZhmnNJlrwj][ptkbdgG_fvsSxzZhmnNJlrwj][IEAOYye|aouKLM@)3*<!(#0~q^LMOEK]')
#create another column for True values in the previous column
if df["ccv"].item == True:
df['first_two_symbols'] = df["ITEM"].str[0:2]
以下是我的输出:
ID ITEM FREQ first_three_symbols ccv
0 0 a 563 a False
1 1 OlrMndmEn 1 Olr False
2 2 OlrMndSpOrtl@r 0 Olr False
3 3 AG@l 74 AG@ False
4 4 AG@lbMm 24 AG@ False
... ... ... ... ... ...
51723 51723 zytzWt@ 8 zyt False
51724 51724 zytzytOst 0 zyt False
51725 51725 zYxtIx 5 zYx False
51726 51726 zYxtIxkWt 0 zYx False
51727 51727 zyZe 4 zyZ False
[51728 rows x 5 columns]
您可以创建函数,也可以使用apply方法:
或者您可以使用numpy包中的np.where函数
相关问题 更多 >
编程相关推荐