我是python的新手,已经找到了在df列中计算硬编码子串的答案,但在使用另一个df列作为输入时无法找到答案。大熊猫有可能吗?
它非常混乱,但基本上我的数据框是:
ID Info
3457 <type1><stats></id>3457<type2></id>3457<type2></id>45
234 <type2><stats></id>234
4555 <type2><stats></id>604555<type1></id>4555<type2></id>4555
2378 <stats></id>555
我设法计算特定字符串的出现次数,例如
df['Type1_Count']=df['Info'].apply((lambda string: string.count("<type1>")))
df['Type2_Count']=df['Info'].apply((lambda string: string.count("<type2>")))
但是我还需要计算第一列中ID的出现次数,因为它们可能有一个错误匹配,所以它实际上需要是一个字符串“/ id&gt;”的计数加上 ID 列。
希望这是有道理的,感谢任何帮助。
答案 0 :(得分:0)
您可以尝试其中一种
df = pd.DataFrame({'name':['bernard','Samy','yyy'],'digit':[2,3,3],'SearchID':['be','xx','Sam']})
print df
for ID in df['SearchID']:
print ID, '\n', df.name.str.count(ID)
Searchstr = df['SearchID'].str.cat(sep='|')
print df.apply(lambda x: x['name'].count(x['SearchID']), axis=1)