繁体   English   中英

如何在python中使用pandas连接同一列中的项目?

[英]How to join items from same column using pandas in python?

print(dfs["Categorias"])

我得到这个:

0                         wordpress, criação de sites
1                                    criação de sites
2             e-commerce, criação de sites, wordpress
3                           marketing digital, vendas

如何删除重复项并加入列表中的唯一值?

谢谢

您是否正在寻找类似的东西:

将每一行拆分为一个列表并将此列表分解为行,然后获取该列的唯一值。

>>> df['Categorias'].str.split(r',\s+').explode().unique().tolist()
['wordpress', 'criação de sites', 'e-commerce', 'marketing digital', 'vendas']

一步步:

>>> df = df['Categorias'].str.split(r',\s+')
0
0                [wordpress, criação de sites]
1                           [criação de sites]
2    [e-commerce, criação de sites, wordpress]
3                  [marketing digital, vendas]
Name: Categorias, dtype: object

>>> df = df.explode()
0
0            wordpress
0     criação de sites
1     criação de sites
2           e-commerce
2     criação de sites
2            wordpress
3    marketing digital
3               vendas
Name: Categorias, dtype: object

>>> df.unique().tolist()
['wordpress', 'criação de sites', 'e-commerce', 'marketing digital', 'vendas']

您可以使用 set 和itertools.chain

from itertools import chain
set(chain(*df['Categorias'].str.split(',\s+')))

输出:

{'criação de sites', 'e-commerce', 'marketing digital', 'vendas', 'wordpress'}

可选地,作为列表:

>>> list(set(chain(*df['Categorias'].str.split(',\s+'))))
['criação de sites', 'e-commerce', 'marketing digital', 'vendas', 'wordpress']

一种方法是将数据框列转换为列表,使用集合删除重复项,然后使用字符串操作连接它们。

>>> ', '.join(set(df['Categorias'].str.split(', ').explode().tolist()))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM