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

KDB技术问题:如何将表的字典转换为单个表?

合并字典中的所有表值为单个表

以下是几种常见场景的实现方法:

1. 字典值为一维列表

假设你的字典结构如下:

table_dict = {
    'group1': [1, 2, 3],
    'group2': [4, 5, 6],
    'group3': [7, 8, 9]
}

方法1:列表推导式

直接遍历所有值列表并拼接:

merged_list = [item for sublist in table_dict.values() for item in sublist]
# 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

方法2:用itertools.chain(适合大数据量)

效率更高,避免创建中间列表:

import itertools
merged_list = list(itertools.chain.from_iterable(table_dict.values()))

2. 字典值为Pandas DataFrame(二维表)

如果每个值都是Pandas的DataFrame:

import pandas as pd
table_dict = {
    'df1': pd.DataFrame({'name': ['Alice', 'Bob'], 'age': [25, 30]}),
    'df2': pd.DataFrame({'name': ['Charlie', 'Diana'], 'age': [35, 40]})
}

用pd.concat()合并:

merged_df = pd.concat(table_dict.values(), ignore_index=True)

ignore_index=True会重置合并后的索引,避免索引重复。如果需要保留原索引,可省略该参数。

3. 字典值为NumPy数组

若值是NumPy数组:

import numpy as np
table_dict = {
    'arr1': np.array([10, 20, 30]),
    'arr2': np.array([40, 50, 60])
}

用np.concatenate()合并:

merged_arr = np.concatenate(list(table_dict.values()))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:48:18