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

Posted

技术标签:

【中文标题】使用 pandas 对列中以逗号分隔的字符串值进行排序【英文标题】:Sort string values delimited by commas in a column using pandas 【发布时间】:2022-01-01 14:31:09 【问题描述】:

我有这个数据框,我正在寻找一种使用 Pandas 对这些值进行排序的 Python 方式。 第 2 列是一个字符串。

C1   C2
0    b,g,f
1    a,f,c
2    f,e,a,c

输出应如下所示:

C1   C2
0    b,f,g
1    a,c,f
2    a,c,e,f

【问题讨论】:

【参考方案1】:
import pandas as pd

data = [
    
        "C1":0,
        "C2":"b,g,f"
    ,
    
        "C1":1,
        "C2":"c,b,a"
    ,
    
        "C1":2,
        "C2":"f,e,a,c"
    
]
df = pd.DataFrame.from_dict(data)

df.C2 = df.C2.sort_values().apply(lambda x: ",".join(sorted(x.split(","))))
print(df)

【讨论】:

以上是关于使用 pandas 对列中以逗号分隔的字符串值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

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

TSQL 将列中的逗号分隔值与逗号分隔参数进行比较

如何根据列中的逗号分隔值进行选择

pandas:根据另一列中的值获取与相应索引的确切对应值

从 Pandas Dataframe Column 中删除重复的逗号,换句话说,我只需要列中的文本,用逗号分隔它们

R:如何计算列中用逗号分隔的所有字符值?