pandas将一行数据展开成多行的需求
在使用 pandas 进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于 hive sql 中的 explode 函数。这个函数如下:
原数据集如下:
希望转化后的结果如下:
数据集如下:
data = [{'date_range': '20200520~20200618',
'id': '257f',
'app_name': '[微信","闲鱼","支付宝"]"'},
{'date_range': '20200520~20200618',
'id': '933a',
'app_name': '[抖音短视频","快手极速版","作业帮"]"'},
{'date_range': '20200520~20200618',
'id': '73c9',
'app_name': '[极速清理管家","王者荣耀"]"'},
{'date_range': '20200520~20200618',
'id': '1054',
'app_name': '[微信","讯飞输入法","应用宝"]"'}]
df_v1 = pd.DataFrame(data)
转化结果如下:
df_v1 = pd.DataFrame(data)
df_v1.head()
df_v1['app_name_str'] = df_v1['app_name'].str.replace('\[|\]','', regex=True)
df_v1['app_name_str'] = df_v1['app_name'].str.replace('"|"','', regex=True)
df_v1['app_name_list'] = df_v1['app_name_str'].str.split(',')
df_v1.head()
df_v2 = df_v1.explode('app_name_list')
df_v2.head()




浙公网安备 33010602011771号