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

如何获取DataFrame每列除列名外的非空唯一值并生成指定结构新表

实现方案(基于Pandas)

你可以直接通过遍历每列做非空去重后拼接,或者用Pandas自带的聚合方法实现,示例代码如下:

1. 环境导入与示例数据构造

import pandas as pd
import numpy as np

# 构造你给出的示例DataFrame
df = pd.DataFrame({
    'value1': ['ab', 'ab', 'ba', 'gf'],
    'value2': ['gh', 'lk', 'ag', 'cv'],
    'value3': ['mn', 'tu', 'ga', np.nan]
})

2. 核心逻辑实现

两种写法效果一致,按需选择:

  • 遍历写法,逻辑更直观:
result_list = []
for col_name in df.columns:
    # 对当前列先剔除空值,再取唯一值,最后用逗号拼接
    joined_value = ','.join(df[col_name].dropna().unique())
    result_list.append({'columns': col_name, 'value': joined_value})
result_df = pd.DataFrame(result_list)
  • 聚合写法,代码更简洁:
result_df = df.agg(lambda series: ','.join(series.dropna().unique()))\
              .reset_index()\
              .rename(columns={'index': 'columns', 0: 'value'})

执行完成后打印result_df即可得到你需要的输出结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 02:03:00