如果dataframe列中的单元格在另一列中具有相同的对应值,如何将其连接到列表中??[Pandas]

2024-06-28 20:36:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是个初学者,所以请原谅我的错误。我真的很想得到一些指导,因为我真的被卡住了

我的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:“客户端”既是索引级别又是列标签,这是不明确的

我已经检查了一大堆答案,但我不断地出错

我完全没有主意了。帮助


Tags: comclientdf列表index错误producthandy
1条回答
网友
1楼 · 发布于 2024-06-28 20:36:04

尝试:

df = df.groupby('client').agg(', '.join)

输出:

                                                        referer
client                                                         
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-c...
1.43.175.52                               xyz.com/browse/chairs

第二部分:

# required_list = df.groupby('client').agg(list).values
required_list = df.groupby('client').agg(list)['referer'].to_list()

输出:

[['xyz.com/m/product/30499', 'xyz.com/m/product/30516'],
 ['xyz.com/browse/etching', 'xyz.com/browse/handy-crafts'],
 ['xyz.com/browse/chairs']]

相关问题 更多 >