在数据处理的时候经常遇到图片里的问题,在此做个方法汇总记录一下,也和大家分享
预期结果:以第一个数据转换前后对比为例
法一:读取文件时,对数据进行转换
df = pd.read_csv(src, parse_dates=['createTime', converters={'companyLabelList':eval})
法二:ast.literal_eval()
df = pd.read_csv(src, parse_dates=['createTime'])
import ast
df['companyLabelList'] = df['companyLabelList'].apply(ast.literal_eval)
法三:apply()
df = pd.read_csv(src, parse_dates=['createTime'])
df['companyLabelList'] = df['companyLabelList'].apply(eval)
法四:字符串切割(个人感觉对数字比较有效,像上图的文字并不能处理成我们想要的结果,会多引号,如果该方法有别的处理方式请分享一下!!)
df = pd.read_csv(src, parse_dates=['createTime'])
df['companyLabelList'] = df['companyLabelList'].apply(lambda x:x.strip("[").strip(']').split(', '))
数字的’[1, 2, 3]’
df['num'] = df['num'].apply(lambda x:x.split(', '))
df['num'] = df['num'].apply(lambda x:[int(i) for i in x])