Python / Pandas合并并从逗号分隔的变量/列生成唯一值列表[重复]

Posted

技术标签:

【中文标题】Python / Pandas合并并从逗号分隔的变量/列生成唯一值列表[重复]【英文标题】:Python/Pandas merge and generate list of unique values from comma separated variable/column [duplicate] 【发布时间】:2020-06-16 06:16:09 【问题描述】:

我有一张如下所示的表格: TABLE

LOCATION   ANALYSIS TYPE
A          A,B,C,D
A          D,E,F
B          KA
B          A,B,C
B          C,D,E

我希望为每个位置生成一个单行库存,其中列出了使用pandas 可用的分析类型。因此,对于这一列列表,我想按位置合并并显示一个唯一值列表。

IE:
A         A,B,C,D,E,F
B         A,B,C,D,E,KA

DESIRED TABLE_OUT

抱歉,没有代码。我在 pandas 中尝试过各种分裂,但没有接近。

【问题讨论】:

您能发布一些您在 pandas 中尝试过的拆分吗? 在列表中的“,”上进行了拆分。它为每个项目创建了一个新列……与我想要完成的目标相去甚远。 :D 你不应该用图片编辑你的问题。将表格保留为文本。 当...“我在帮忙” 文本回来了...我需要在这里整理一下如何格式化表格。这是我的第一篇文章...请不要恨我:D 【参考方案1】:

试试这个:

df1 = pd.DataFrame('Location':['A']*2+['B']*3
                   ,'Analysis_Type':['A,B,C,D','D,E,F','KA','A,B,C','C,D,E'])
df1.set_index('Location')['Analysis_Type'].str.split(',')\
   .groupby(level=0)\
   .agg(lambda x: ','.join(sorted(list(set(x.sum())))))\
   .reset_index()

输出:

  Location Analysis_Type
0        A   A,B,C,D,E,F
1        B  A,B,C,D,E,KA

【讨论】:

df_newrng.set_index('UWI')['分析测试类型'].str.split(',')\ .groupby(level=0)\ .agg(lambda x: ',' .join(sorted(list(set(x.sum())))))\ .reset_index() 我收到类型错误。很抱歉弄清楚如何换行:D "\" 是一个续行符.... 谢谢,这正是我想要的……使用示例数据。对于现实世界的数据,我遇到了语法问题......但它会到达那里。 Hi-5 斯科特波士顿

以上是关于Python / Pandas合并并从逗号分隔的变量/列生成唯一值列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?

将整列整数转换为字符串,在 Pandas 中使用逗号分隔千位

使用 pandas 对列中以逗号分隔的字符串值进行排序

Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数复制到Excel文件复制到文本文件(默认是tsv格式)复制到文本文件(设置逗号分隔符)

python - 将文件读入字典 - 用大括号分隔,没有逗号分隔符

Python将数据框转换为逗号分隔的行[重复]