dict存到pandas_pandas.DataFrame.to_dict()的使用详解

本文详细介绍了如何使用Pandas的DataFrame.to_dict()方法将数据框转换为不同格式的字典,包括'dict'、'list'、'series'、'split'、'records'和'index'等输出方式,展示了每种方式的实例及结果。
摘要由CSDN通过智能技术生成

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: df = pd.DataFrame({'colA' : list('AABCA'), 'colB' : ['X',np.nan,'Ya','Xb','Xa'],'colC' : [100,50,30,5

...: 0,20], 'colD': [90,60,60,80,50]})

In [4]: df

Out[4]:

colA colB colC colD

0 A X 100 90

1 A NaN 50 60

2 B Ya 30 60

3 C Xb 50 80

4 A Xa 20 50

In [5]: df.to_dict(orient='dict')

Out[5]:

{'colA': {0: 'A', 1: 'A', 2: 'B', 3: 'C', 4: 'A'},

'colB': {0: 'X', 1: nan, 2: 'Ya', 3: 'Xb', 4: 'Xa'},

'colC': {0: 100, 1: 50, 2: 30, 3: 50, 4: 20},

'colD': {0: 90, 1: 60, 2: 60, 3: 80, 4: 50}}

In [6]: df.to_dict(orient='list')

Out[6]:

{'colA': ['A', 'A', 'B', 'C', 'A'],

'colB': ['X', nan, 'Ya', 'Xb', 'Xa'],

'colC': [100, 50, 30, 50, 20],

'colD': [90, 60, 60, 80, 50]

In [7]: df.to_dict(orient='series')

Out[7]:

{'colA': 0 A

1 A

2 B

3 C

4 A

Name: colA, dtype: object, 'colB': 0 X

1 NaN

2 Ya

3 Xb

4 Xa

Name: colB, dtype: object, 'colC': 0 100

1 50

2 30

3 50

4 20

Name: colC, dtype: int64, 'colD': 0 90

1 60

2 60

3 80

4 50

Name: colD, dtype: int64}

In [8]: df.to_dict(orient='split')

Out[8]:

{'columns': ['colA', 'colB', 'colC', 'colD'],

'data': [['A', 'X', 100, 90],

['A', nan, 50, 60],

['B', 'Ya', 30, 60],

['C', 'Xb', 50, 80],

['A', 'Xa', 20, 50]],

'index': [0, 1, 2, 3, 4]}

In [9]: df.to_dict(orient='records')

Out[9]:

[{'colA': 'A', 'colB': 'X', 'colC': 100, 'colD': 90},

{'colA': 'A', 'colB': nan, 'colC': 50, 'colD': 60},

{'colA': 'B', 'colB': 'Ya', 'colC': 30, 'colD': 60},

{'colA': 'C', 'colB': 'Xb', 'colC': 50, 'colD': 80},

{'colA': 'A', 'colB': 'Xa', 'colC': 20, 'colD': 50}]

In [10]: df.to_dict(orient='index')

Out[10]:

{0: {'colA': 'A', 'colB': 'X', 'colC': 100, 'colD': 90},

1: {'colA': 'A', 'colB': nan, 'colC': 50, 'colD': 60},

2: {'colA': 'B', 'colB': 'Ya', 'colC': 30, 'colD': 60},

3: {'colA': 'C', 'colB': 'Xb', 'colC': 50, 'colD': 80},

4: {'colA': 'A', 'colB': 'Xa', 'colC': 20, 'colD': 50}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值