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

如何使用D3.js拆分CSV管道符分隔列并统计各唯一值的出现次数

D3.js拆分分隔符列并统计唯一值次数实现方案

首先需要先将B列的管道符分隔内容拆分、打平为单个值的一维数组,再执行统计逻辑,具体实现代码如下:

// 1. 拆分B列内容并打平为一维数组,同时去除每个值的前后空白字符
const allBValues = data.flatMap(row => {
  return row.B.split('|').map(val => val.trim())
})

// 2. 对打平后的数组进行分组统计
const b_counts = d3.nest()
  .key(d => d)
  .rollup(items => items.length)
  .entries(allBValues)
  .map(group => ({
    B: group.key,
    Count: group.value
  }))

// 可选:按计数从高到低排序
b_counts.sort((a, b) => b.Count - a.Count)

如果运行环境不支持flatMap语法,可以用以下等价写法替换第一步的打平逻辑:

const allBValues = [].concat(...data.map(row => row.B.split('|').map(val => val.trim())))

上述代码的逻辑和你给出的pandas实现逻辑完全对应:split('|')对应分隔符拆分、flatMap/concat逻辑对应explode的打平操作,后续的d3.nest分组统计对应value_counts的计数功能。运行后输出的结果和你预期的统计结果完全一致。

内容的提问来源于stack exchange,提问作者Adam Boyher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:57:03