Python科学计算之Pandas 显示设置和数据透视表

显示设置

  • 行显示
#求出pandas默认显示打印多少行
pd.get_option('display.max_rows')
#输出
60

#设置打印显示行数
pd.set_option('display.max_rows',10)
pd.Series(index = range(0,100))

在这里插入图片描述

  • 列显示
#求出pandas默认显示打印多少列
pd.get_option('display.max_columns')
#输出
20

#设置打印显示列数
pd.set_option('display.max_columns',30)
pd.DataFrame(columns = range(0,30))

在这里插入图片描述

  • 字符串显示
#每个网格中字符串可打印的默认长度
pd.get_option('display.max_colwidth')
#输出
50

#设置字符串打印长度
pd.set_option('display.max_colwidth',100)
pd.Series(index = ['A'],data=['sb'*40])

在这里插入图片描述

#小数点默认打印位数
pd.get_option('display.precision')
#输出
6

#设置小数点打印位数
pd.set_option('display.precision',2)
pd.Series(data = [3.141592653589793])
#输出
0    3.14
dtype: float64

数据透视表

  • 构建一个数据透视表
import pandas as pd
example = pd.DataFrame({'Month': ["January", "January", "January", "January", 
                                  "February", "February", "February", "February", 
                                  "March", "March", "March", "March"],
                   'Category': ["Transportation", "Grocery", "Household", "Entertainment",
                                "Transportation", "Grocery", "Household", "Entertainment",
                                "Transportation", "Grocery", "Household", "Entertainment"],
                   'Amount': [74., 235., 175., 100., 115., 240., 225., 125., 90., 260., 200., 120.]})
example

在这里插入图片描述

  • pivot操作
#按照各个字段统计上面的数据index表示索引,columns表示列,values表示表格中的数值
example_pivot = example.pivot(index = 'Category',columns= 'Month',values = 'Amount')
example_pivot

在这里插入图片描述

#按行求和统计
example_pivot.sum(axis = 1)
#按列求和统计
example_pivot.sum(axis = 0)

在这里插入图片描述
在这里插入图片描述

Titanic.csv统计实战

#自己可以去网上下载Titanic.csv文件
df = pd.read_csv('./data/titanic.csv')
df.read()

在这里插入图片描述

#默认值就是求平均值
df.pivot_table(index = 'Sex',columns='Pclass',values='Fare')

在这里插入图片描述

#如何求最大/小值?
df.pivot_table(index='Sex',columns='Pclass',values='Fare',aggfunc='max')
df.pivot_table(index='Sex',columns='Pclass',values='Fare',aggfunc='min')

在这里插入图片描述

#如何计数
df.pivot_table(index = 'Sex',columns='Pclass',values='Fare',aggfunc='count')
#crosstab计数方式
pd.crosstab(index = df['Sex'],columns = df['Pclass'])

在这里插入图片描述

#自定义索引,统计
df['Underaged'] = df['Age'] <= 18
df.pivot_table(index = 'Underaged',columns='Sex',values='Survived',aggfunc='mean')

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值