这个博客是记录一下平时工作中遇到的一些比较常见但不太好处理的数据清洗问题,博主还是个刚入职场的小白,目前遇到的场景问题还比较少,但我会一直更新的~
目录
1. 清洗日期
在工作中经常会遇到需要清洗日期时间数据
我的想法是把数据拆解开在用replace进行替换,然后在粘贴在一起
df = pd.read_excel('test.xlsx')
df['日期'] = df['日期'].astype(str)
date['year'] = df['日期'].str[0:4]
date['mm'] = df['日期'].str[4:6].replace('tt','00').replace('','00')
date['dd'] = df['日期'].str[6:8].replace('tt','00').replace('','00')
df['日期'] = date['year']+date['mm']+date['dd']
这时日期这列数据会清洗为如下
可以根据需求替换修改内容,不知道有没有大佬有更方便的方法,欢迎交流~
2. 数据分列合并
想把下图中的数据展开并在一列中展示
这里我想到的是先把这列数据拆分开在用explode函数进行展开
df['阿斯顿'] = df['阿斯顿'].str.split(";")
data = df.explode('阿斯顿').reset_index(drop = True)
data.drop_duplicates(inplace = True)
展开结果
3. 时间段数据处理
3.1 某个时间差内字段出现频次大于2(动态时间)
当前需求为:查找30分钟内id出现2次以