我有一个这样的数据框:df:col1 col2 col3 1 123xy56 pyrxyz 3 hcv P xy12 R T 5 453xy Z 2 lxy6 Q我想删除数据框每一列中以 xy 开头的所有内容。如果任何值以 xy 开头,则将其替换为零。最终的数据框应如下所示:col1 col2 col3 1 123 pyr 3 hcv P 0 R T 5 453 Z 2 l Q
2 回答
狐的传说
TA贡献1804条经验 获得超3个赞
您可以使用替换两次:
result = df.replace('xy.*', '', regex=True).replace('', 0)
print(result)
输出
col1 col2 col3
0 1 123 pyr
1 3 hcv P
2 0 R T
3 5 453 Z
4 2 l Q
MMTTMM
TA贡献1869条经验 获得超4个赞
效率不高但有效
df.apply(lambda x : x.str.split('xy').str[0]).replace('',0)
Out[386]:
col1 col2 col3
0 1 123 pyr
1 3 hcv P
2 0 R T
3 5 453 Z
4 2 l Q
添加回答
举报
0/150
提交
取消