• pandas——to_dict使用详解


    原文:https://blog.csdn.net/weixin_39791387/article/details/87627235

    将df转为字典时的用法

    • 以下基于windows10, python3.6环境通过验证
     1 In [1]: import pandas as pd
     2 
     3 In [2]: import numpy as np
     4 
     5 In [3]: df = pd.DataFrame({'colA' : list('AABCA'), 'colB' : ['X',np.nan,'Ya','Xb','Xa'],'colC' : [100,50,30,5
     6    ...: 0,20], 'colD': [90,60,60,80,50]})
     7 
     8 In [4]: df
     9 Out[4]:
    10   colA colB  colC  colD
    11 0    A    X   100    90
    12 1    A  NaN    50    60
    13 2    B   Ya    30    60
    14 3    C   Xb    50    80
    15 4    A   Xa    20    50
    16 
    17 In [5]: df.to_dict(orient='dict')
    18 Out[5]:
    19 {'colA': {0: 'A', 1: 'A', 2: 'B', 3: 'C', 4: 'A'},
    20  'colB': {0: 'X', 1: nan, 2: 'Ya', 3: 'Xb', 4: 'Xa'},
    21  'colC': {0: 100, 1: 50, 2: 30, 3: 50, 4: 20},
    22  'colD': {0: 90, 1: 60, 2: 60, 3: 80, 4: 50}}
    23 
    24 In [6]: df.to_dict(orient='list')
    25 Out[6]:
    26 {'colA': ['A', 'A', 'B', 'C', 'A'],
    27  'colB': ['X', nan, 'Ya', 'Xb', 'Xa'],
    28  'colC': [100, 50, 30, 50, 20],
    29  'colD': [90, 60, 60, 80, 50]
    30 
    31 In [7]: df.to_dict(orient='series')
    32 Out[7]:
    33 {'colA': 0    A
    34  1    A
    35  2    B
    36  3    C
    37  4    A
    38  Name: colA, dtype: object, 'colB': 0      X
    39  1    NaN
    40  2     Ya
    41  3     Xb
    42  4     Xa
    43  Name: colB, dtype: object, 'colC': 0    100
    44  1     50
    45  2     30
    46  3     50
    47  4     20
    48  Name: colC, dtype: int64, 'colD': 0    90
    49  1    60
    50  2    60
    51  3    80
    52  4    50
    53  Name: colD, dtype: int64}
    54 
    55 In [8]: df.to_dict(orient='split')
    56 Out[8]:
    57 {'columns': ['colA', 'colB', 'colC', 'colD'],
    58  'data': [['A', 'X', 100, 90],
    59   ['A', nan, 50, 60],
    60   ['B', 'Ya', 30, 60],
    61   ['C', 'Xb', 50, 80],
    62   ['A', 'Xa', 20, 50]],
    63  'index': [0, 1, 2, 3, 4]}
    64 
    65 In [9]: df.to_dict(orient='records')
    66 Out[9]:
    67 [{'colA': 'A', 'colB': 'X', 'colC': 100, 'colD': 90},
    68  {'colA': 'A', 'colB': nan, 'colC': 50, 'colD': 60},
    69  {'colA': 'B', 'colB': 'Ya', 'colC': 30, 'colD': 60},
    70  {'colA': 'C', 'colB': 'Xb', 'colC': 50, 'colD': 80},
    71  {'colA': 'A', 'colB': 'Xa', 'colC': 20, 'colD': 50}]
    72 
    73 In [10]: df.to_dict(orient='index')
    74 Out[10]:
    75 {0: {'colA': 'A', 'colB': 'X', 'colC': 100, 'colD': 90},
    76  1: {'colA': 'A', 'colB': nan, 'colC': 50, 'colD': 60},
    77  2: {'colA': 'B', 'colB': 'Ya', 'colC': 30, 'colD': 60},
    78  3: {'colA': 'C', 'colB': 'Xb', 'colC': 50, 'colD': 80},
    79  4: {'colA': 'A', 'colB': 'Xa', 'colC': 20, 'colD': 50}}
  • 相关阅读:
    转“C++之文件IO操作流”
    编译过程的一些小知识——#pragma once与 #ifndef的区别以及介绍
    编译过程的一些小知识——内部连接与外部连接
    VC MFC如何使用Console输出调试信息..
    windows 下ping命令,t选项
    电力间隔定义
    这样的要求不过分
    拾零之 :if 判断顺序的问题
    CMarkup 解析XML
    XinZhou housing mobile phone
  • 原文地址:https://www.cnblogs.com/heymonkey/p/12169752.html
Copyright © 2020-2023  润新知