轻松搞定pandas中dataframe转字典,数据分析小技巧赶紧放收藏夹里落灰去

目录

1.dict形式

2.list形式

3.series形式

4.split形式

5.tight形式

6.records形式

7.index形式

8.结语


大家好,我是布丁_码上成功,明天就是端午节了,祝大家端午安康,事业荣光。

轻松搞定pandas中dataframe转字典,数据分析小技巧赶紧放收藏夹里落灰去_第1张图片
今天给大家分享一下如何使用Pandas将DataFrame类型数据转换成字典(dict)类型数据的方法及实例。 

在日常的数据处理与分析工作中,我们经常需要将DataFrame数据转换成字典以便于使用。这时候,我们可以使用Pandas提供的to_dict()函数来实现。

to_dict()函数的具体用法如下所示:

dataframe.to_dict(orient=' ')

其中orient表示转换成字典后的形式。接下来,我们就分别来看一下不同形式下的转换实例。

1.dict形式


dict形式是to_dict()函数的默认形式,可以用以下语句进行转换:
df.to_dict()

例如,我们建立一个4x3的DataFrame数据表如下所示:

A B C
0 1 4 7
1 2 5 8
2 3 6 9
3 10 40 70

将上述数据表转换成字典形式,直接调用to_dict()即可,其输出结果如下所示:
{ 'A': { 0: 1, 1: 2, 2: 3, 3: 10 },
  'B': { 0: 4, 1: 5, 2: 6, 3: 40 },
  'C': { 0: 7, 1: 8, 2: 9, 3: 70 }
}


2.list形式

在转换成list形式时,DataFrame中每列对应的值转换成Python列表(list),如下所示:
df.to_dict('list')
以上述数据表为例,其输出结果如下所示:
{ 'A': [1, 2, 3, 10],
  'B': [4, 5, 6, 40],
  'C': [7, 8, 9, 70]
}


3.series形式


在series形式中,字典的key值为DataFrame中的列名,而value值是将DataFrame的每一行按顺序展开而成的Series类型数据。例如:


df.to_dict('series')
以上述数据表为例,其输出结果如下所示:
{ 'A': 0     1
                1     2
                2     3
                3    10
                Name: A, dtype: int64,
  'B': 0     4
                1     5
                2     6
                3    40
                Name: B, dtype: int64,
  'C': 0     7
                1     8
                2     9
                3    70
                Name: C, dtype: int64
}


4.split形式


split形式比较特殊,其输出字典包含三个key值,分别为index、columns和data,分别对应行名、列名和数据。例如:


df.to_dict('split')
以上述数据表为例,其输出结果如下所示:
{ 'columns': [ 'A', 'B', 'C' ],
  'data': [ [1, 4, 7], [2, 5, 8], [3, 6, 9], [10, 40, 70] ],
  'index': [ 0, 1, 2, 3 ]
}


5.tight形式


tight形式在输出结果中包含了行名、列名、数据、列名等信息,是一种比较复杂的字典形式。示例如下:
df.to_dict('tight')
以上述数据表为例,其输出结果如下所示:
{ 'column_names': [ 'A', 'B', 'C' ],
  'data': [ [1, 4, 7], [2, 5, 8], [3, 6, 9], [10, 40, 70] ],
  'index': [ 0, 1, 2, 3 ],
  'index_names': None
}


6.records形式


records形式是将每行转换成一个对应的字典。例如:

df.to_dict('records')
以上述数据表为例,其输出结果如下所示:


[ {'A': 1, 'B': 4, 'C': 7},
  {'A': 2, 'B': 5, 'C': 8},
  {'A': 3, 'B': 6, 'C': 9},
  {'A': 10, 'B': 40, 'C': 70} ]


7.index形式


index形式与dict形式类似,不同之处在于它将DataFrame的索引转换成了字典的key值。例如:

df.to_dict('index')
以上述数据表为例,其输出结果如下所示:


{ 0: {'A': 1, 'B': 4, 'C': 7},
  1: {'A': 2, 'B': 5, 'C': 8},
  2: {'A': 3, 'B': 6, 'C': 9},
  3: {'A': 10, 'B': 40, 'C': 70} }


8.结语


本文介绍了使用to_dict()函数来实现将DataFrame数据转换成字典数据的方法及不同形式下的实例展示,相信读者已经掌握了使用方法和技巧。在进行数据处理与分析过程中,如果有需要,可以灵活运用Pandas提供的丰富工具,提高工作效率,也可以通过多次实践不同形式下的转换方式来加深理解,更好地应用这些函数。


今天分享就到这里了,如果你对数据分析感兴趣,可以关注我,后面还会有其他的内容

你可能感兴趣的:(数据分析,python学习,学习技巧,python,数据分析,pandas)