You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计两列字符串无序组合的出现次数(含单列场景)

无序字符串组合计数的可行实现方法

一、Excel/Google Sheets 方案

针对两列输入(Fruit A、Fruit B)

  1. 生成标准化组合:在空白列(如C列)输入公式,将每行的两个水果按字母顺序排序后拼接,统一无序组合的格式:
    =IF(A2<B2, A2&", "&B2, B2&", "&A2)
    
    下拉填充至所有行,得到标准化的组合列。
  2. 统计出现次数:
    • 函数法:在D2输入=COUNTIF(C:C, C2),下拉填充即可得到每行组合的计数。
    • 数据透视表法:选中C列,插入数据透视表,将组合字段拖至「行区域」,再拖至「值区域」并选择「计数」。

针对单列输入(Fruits)

  1. 拆分并标准化组合:使用公式拆分字符串后排序拼接,统一格式:
    =LET(split_fruits, TEXTSPLIT(A2, ", "), sorted, SORT(split_fruits), TEXTJOIN(", ", TRUE, sorted))
    
    下拉填充得到标准化列后,后续统计步骤与两列输入一致。

二、Python 方案(基于Pandas)

针对两列输入

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    "Fruit A": ["Banana", "Pear", "Apple", "Apple", "Banana"],
    "Fruit B": ["Apple", "Apricot", "Banana", "Pear", "Apple"]
})

# 生成标准化组合
df["Combination"] = df.apply(lambda row: ", ".join(sorted([row["Fruit A"], row["Fruit B"]])), axis=1)

# 统计次数并整理结果
result = df["Combination"].value_counts().reset_index()
result.columns = ["Combination", "Occurence"]
print(result)

针对单列输入

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    "Fruits": ["Banana, Apple", "Pear, Apricot", "Apple, Banana", "Apple, Pear", "Banana, Apple"]
})

# 拆分、排序并生成标准化组合
df["Combination"] = df["Fruits"].apply(lambda x: ", ".join(sorted(x.split(", "))))

# 统计次数
result = df["Combination"].value_counts().reset_index()
result.columns = ["Combination", "Occurence"]
print(result)

三、SQL 方案

针对两列输入(表名fruit_pairs)

SELECT
    CASE WHEN fruit_a < fruit_b THEN CONCAT(fruit_a, ', ', fruit_b) ELSE CONCAT(fruit_b, ', ', fruit_a) END AS Combination,
    COUNT(*) AS Occurence
FROM fruit_pairs
GROUP BY Combination
ORDER BY Occurence DESC;

针对单列输入(表名fruit_list,以PostgreSQL为例)

WITH split_fruits AS (
    SELECT
        UNNEST(STRING_TO_ARRAY(fruits, ', ')) AS fruit,
        id
    FROM fruit_list
),
sorted_pairs AS (
    SELECT
        id,
        STRING_AGG(fruit, ', ' ORDER BY fruit) AS Combination
    FROM split_fruits
    GROUP BY id
)
SELECT
    Combination,
    COUNT(*) AS Occurence
FROM sorted_pairs
GROUP BY Combination
ORDER BY Occurence DESC;

内容的提问来源于stack exchange,提问作者hugo thierry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:55:17