使用 pandas 将表直接转换为树结构

Art*_*nov 3 python hdf5 python-3.x pandas

我想转换这个csv文件格式:

数据集

进入具有以下结构的 hdf5 文件:

在此输入图像描述

我正在使用熊猫。有没有一种简单的方法可以做到这一点?

jpp*_*jpp 6

collections.defaultdict您可以通过以下方式使用嵌套字典:

from collections import defaultdict
import pandas as pd

# read csv file
# df = pd.read_csv('input.csv', header=None)

df = pd.DataFrame([['A', 'a', 'a1'],
                   ['A', 'a', 'a2'],
                   ['A', 'b', 'b1'],
                   ['A', 'b', 'b2'],
                   ['A', 'c', 'c1'],
                   ['A', 'c', 'c2']],
                  columns=['col1', 'col2', 'col3'])

d = defaultdict(lambda: defaultdict(list))

for row in df.itertuples():
    d[row[1]][row[2]].append(row[3])
Run Code Online (Sandbox Code Playgroud)

结果

defaultdict(<function __main__.<lambda>>,
            {'A': defaultdict(list,
                         {'a': ['a1', 'a2'],
                          'b': ['b1', 'b2'],
                          'c': ['c1', 'c2']})})
Run Code Online (Sandbox Code Playgroud)