有时候我们在处理数据时,会遇到某个列存在多值的情况,如果想拿到里面的每个值进行后续的处理的话,这种情况下有两种处理方式,如果是固定数目的多值,可以使用split切分,如果不定数目的。下面我们就来看看具体怎么处理。 步骤1 先把要转换的各列拼到一起,如有9列,下面为了测试方便,我用1,2,3,4,5,6,7,8,9代替,sql为selectconcat_ws(',','1','2','3','4...
多行合并一行 import pandas as pd #构造数据 data=pd.DataFrame({'id':[1,1,2,2],'品牌':['A','B','C','D']}) #合并数据 data_new=data.groupby(['id'])['品牌'].apply(list).to_frame() data_new['品牌']=data_new['品牌'].apply(lambda x:str(x).replace('[','').replace(']','')) 合并前 合并后
最近公司在做客户端阅历数据分析,服务器端同事需要计算每个用户的读书分类,读了多少本书,读过多少本书,总时长,总分,数据量非常大,服务器同事那边单机处理一次需要10个小时,后来我拿来我们这边做,分布式计算总比单机计算快吧,所以分享一下: 1.需要统计每个用户的书籍分类 sql: select us.user_name,us.bid,b.classname from book_clas...