我只是个初学者,所以请原谅我的错误。我真的很想得到一些指导,因为我真的被卡住了
我的df如下所示:
client referer
1.158.74.178 xyz.com/m/product/30499
1.158.74.178 xyz.com/m/product/30516
1.36.128.224 xyz.com/browse/etching
1.36.128.224 xyz.com/browse/handy-crafts
1.43.175.52 xyz.com/browse/chairs
.
.
.
我需要什么
我想在一列中获取属于同一客户机并用逗号分隔的URL i、 例如:
1.158.74.178 xyz.com/m/product/30499,xyz.com/m/product/30516
1.36.128.224 xyz.com/browse/etching,xyz.com/browse/handy-crafts
1.43.175.52 xyz.com/browse/chairs
……等等
最后,我想将“referer”列中的每个“cell”转换为一个列表,并将每个列表附加到一个列表列表中,并获得如下数据集:
[['xyz.com/m/product/30499','xyz.com/m/product/30516'],['xyz.com/browse/etching','xyz.com/browse/handy-crafts'],['xyz.com/browse/chairs'],...]
问题
我使用
d5 = d4.to_frame().reset_index().set_index('client')
d5.rename(columns = {0:'client', 1:'referer'}, inplace=True)
d5 = d5.loc[:, ['client','referer']]
从而将“客户机”指定为索引。当我在没有设置索引的情况下尝试它时,它使数据帧发生了相当大的倾斜。所以我想改变索引不是一个选择
所以当我尝试时-
df = d5.groupby(d5.iloc[:,0])['referer'].apply(','.join)
或
df = d5.groupby(d5.loc[d5.loc[:,'client']])['referer'].apply(','.join)
它给了我一个错误-
TypeError:不可损坏的类型:“列表”
d = {'referer':','.join}
d6 = d5.groupby('client').agg(d).reset_index()
给我一个错误-
ValueError:“客户端”既是索引级别又是列标签,这是不明确的
我已经检查了一大堆答案,但我不断地出错
我完全没有主意了。帮助
尝试:
输出:
第二部分:
输出:
相关问题 更多 >
编程相关推荐