import pandas as pd什么意思_Tips:python 用 pandas 实现数据透视表

数据透视表在数据分析中起到关键作用,Python的pandas库提供了强大的pivot_table功能。本文将探讨如何利用pandas实现数据透视,并介绍相关参数,帮助你理解和应用pd.pivot_table()进行数据汇总。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    透视表是一种可以对数据动态排布并且分类汇总的表格格式。对于熟练使用 excel 的伙伴来说,一定很是亲切!实际上,Python使用pandas同样可以快速实现数据透视表的功能,不同方法反应不同的编程思维,以下是几种实现数据透视表的简单方法。在实际应用中,需要注意(1)数据的获取,可以通过Python读取不同结构化数据;(2)理解掌握pd.pivot_table() 语法。

# -*- coding: utf-8 -*-
"""
Created on Fri Aug 21 16:11:37 2020
@author: Romer Lyu
"""

import pandas as pd
import numpy as np

v = [1,2,3,3,3]
a = pd.DataFrame({'v':v})

d = [2 , 4, 4, 5, 4]
a['d'] = d
c = ['c' , 'h', 'd', 'e',  'c']
a['c'] = c

# df用两列进行分组grouby
a.groupby(['v', 'd'])['c'].count()

'''
方法一
'''
#把这个v当作列index,d当作行columns,
#之后把对应的分组的’c‘.count()放到对应的索引loc处,
#不存在的值用0填补
cpd = pd.crosstab(a['v'], a['d'], a['c'], aggfunc='count')
# 填充空格
cpd = cpd.fillna(0)

#转换为array和list的方法

cpd_arr1 = np.array(cpd)
cpd_arr2 = np.array(cpd.values.tolist())
cpd_list = cpd.values.tolist()

'''
整体流程——>总结一句话
'''
cpd = pd.crosstab(a['v'], a['d'], a['c'], aggfunc='count')
cpd = cpd.fillna(0)
cpd_arr = np.array(cpd)
cpd_arr
#--------------#
np.array(pd.crosstab(a['v'], a['d'], a['c'], aggfunc='count').fillna(0))

'''
方法二  pivot()
'''
a.groupby(['v', 'd'], as_index=False)['c'].count()

a.groupby(['v', 'd'], as_index=False)['c'].count().pivot('v', 'd', 'c')

'''
整体流程——>总结一句话
'''
ppd = a.groupby(['v', 'd'], as_index=False)['c'].count().pivot('v', 'd', 'c')
ppd = ppd.fillna(0)
ppd_arr = np.array(ppd)
ppd_arr

#--------------#

np.array(a.groupby(['v', 'd'], as_index=False)['c'].count().pivot('v', 'd', 'c').fillna(0))


'''
第三种方法:pivot_table
'''

pivoted_df=pd.pivot_table(a[['v','d','c']], 
                          values='c', index=['v'],
                          columns=['d'], aggfunc='count')
pivoted_df


np.array(pivoted_df.fillna(0))

以下是该函数的参数介绍:

a66fbecffb8159f0e3bef2d16fb3392c.png

欢迎关注:数据皮皮侠

23b936e80decbc07d86051afec040953.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值