如果想对code列中开头为0的字符串添加sz 开头为3和6的数字添加sh该怎么做呢?

如果想对code列中开头为0的字符串添加sz 开头为3和6的数字添加sh该怎么做呢?

问题描述:

笔者现在正尝试用apply()方法进行操作,但因为涉及到首位不同的数值需要添加不同的开头,比如6开头的要在前面加sh,3和0开头的要加sz,就不会了。目前思考的方向有update(),select(),lambda

用这个代码试试,这样以其他数字开头的保持原样:df['code']=df['code'].apply(lambda x:'sz'+x if x[0]=='0' else('sh'+x if x[0]=='6' or x[0]=='3' else x))

print(df)

如果只有0 3 6 的情况话 可以试试这样

data['code'] = ['sz'+ i  if i[0]=='0' else 'sh'+i  for i in data['code']]

用第二位前辈的方法跑出来了,太感谢两位前辈了,每次都是你们帮助我

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,欢迎您加入CSDN!

目前问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

如果除了 0 3 6 还有别的情况, 可以按下面这个格式不断的加if判断

data['code_re'] = ['sz'+ i  if i[0]=='0' else 'sh'+i  if i[0] in ['3','6'] else i  for i in data['code']]