python - Pandas 到多个字典对象

标签 python pandas

我在表/数据框中有一个评分量表。我想读取读取框架并将其转换为多个 dict 对象。 我有 table :

col_ref col_cutoff col_value
C1      10          100
C1      20          200
C1      Miss        500
C1      Null        100
C2      A           250
C2      B           200
C2      Null        0
C2      Miss        100

我想将其转换为 2 个字典对象:

C1_Dict = {
    'Miss' : 500,
    'Null'    :100,
    'VALS'    : [
        (10, 100),
        (20, 2000)
    ]
}

C2_Dict = {
    'Miss' : 100,
    'Null'    :0,
    'VALS'    : [
        (A, 250),
        (B, 200)
    ]
}

这是我开始的..但我想不通了

import pandas as pd

def panda_2_dict(pd):
    pdf_ref = pd.read_csv()
    col_refs = pd.pdf_ref.[Col_ref.distinct]
    For each i in col_refs
             col_ref_i = {col_cutoff:col_val}
    return col_ref_i

我期待一个 dict 对象列表(这里是 2)。

最佳答案

你可以试试:

  col_ref col_cutoff  col_value
0      C1         10        100
1      C1         20        200
2      C1       Miss        500
3      C1       Null        100
4      C2          A        250
5      C2          B        200
6      C2       Null          0
7      C2       Miss        100

gb = df.groupby('col_ref')

for k, v in gb:
    print k
    a = (v[:2].set_index('col_cutoff')['col_value'].to_dict()).items()
    b = v[2:].set_index('col_cutoff')['col_value'].to_dict()
    b['VALS'] = a
    print b

    C1
    {'VALS': [('10', 100), ('20', 200)], 'Null': 100, 'Miss': 500}
    C2
    {'VALS': [('A', 250), ('B', 200)], 'Null': 0, 'Miss': 100}

关于python - Pandas 到多个字典对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32865978/

相关文章:

python - 在 pandas plot 图例中显示非 ascii(日文)字符

python - 继承的 xpath 未显示 - Odoo v8

python - 计算素数列表中数字位置的最佳方法?

python - 如何防止 pandas 将我的整数值重新转换为 float ?

python - 如何在 Python 中查找 DataFrame 的一列中也出现在另一列中的元素

python - 将 panda 系列更改为 int

python - 在 Python pandas 中将数据映射到另一年的同一工作日

Python Pylearn2 包 "ImportError: No module named pylearn2.utils"

python - 使用新方法动态包装任意类

python - 将python opencv mat图像转换为tensorflow图像数据