【笔记】【深入浅出pandas】第一章

1.3 快速入门

(一)安装导入

终端安装,执行命令:

pip install pandas matplotlib

安装后,启动Jupyter Notebook,导入pandas

#导入,起别名pd
import pandas as pd

(二)准备数据集

数据集(dataset),相当于excel表格
参考数据集可从https://www.gairuo.com/file/data/dataset/team.xlsx下载

(三)读取数据

读取数据到pandas里,变量名为df(DataFrame缩写,pandas二维数据基础结构)

df=pd.read_excel('https://www.gairuo.com/file/data/dataset/team.xlsx')
#查看数据
df

output:
在这里插入图片描述

  • 自动增加了索引(第一列)
  • 从0开始 自动隐藏了中间
  • 只显示了前后5条 底部有行列数(row column)

其他常用方式:
在这里插入图片描述
在这里插入图片描述

  • 读取函数一般会赋值给一个变量 df, df = pd.read_()
  • 输出函数是将变量自身进行操作并输出df.to_()

(四)查看数据

#括号内可以写想看的条数
df.head()#前5条
df.tail()#尾部5条
df.sample(5)#随机查看5条

(五)验证数据

#行列数
df.shape

#索引、数据类型、内存信息
df.info()

#数值类型汇总统计
df.describe()

#各字段类型
df.dtypes

#行列名
df.axes

#列名
df.columns

(六)建立索引

把 name 列变成索引

df.set_index("name",inplace=True) #建立索引并生效

inplace=True使设置的索引生效
没有修改原来的excel,处理的是df变量
OUT:
在这里插入图片描述

(七)数据选取

一、选择列
1、查看单列

#查看指定列Q1
df['Q1']
#如果符合变量名要求,可以使用
df.Q1

OUT:
在这里插入图片描述
返回的是Series类型的数据(即带索引的数列)

2、查看多列

#注意括号
df[['team','Q1']]
#使用df.loc[x,y]
df.loc[:,['team','Q1']]

df.loc[x,y]是数据选择函数,x是列,y是行,都可以采用条件表达式,可用切片
用自然索引需要用df.iloc[]

二、选择行

1、用制定索引选取

df[df.index=='Liver']

2、用自然索引,类似切片

#前三个
df[0:3]

#前十个每两个选一个
df[0:10:2]

#前十个
df.iloc[:10,:]

三、选择行列

同时指定行列范围

df.loc['Ben','Q1':'Q4']

df.loc['Eorge':'Alexander','team':'Q4']

四、条件选择

1、单一条件

df[df.Q1 > 90] 
df[df.team == 'C'] 
df[df.index == 'Oscar'] 

2、组合条件

#and &
df[(df['Q1'] > 90) & (df['team'] == 'C')] 

#多重筛选
df[df['team'] == 'C'].loc[df.Q1>90] 

(八)排序

#升序
df.sort_values(by='Q1') 

#降序
df.sort_values(by='Q1', ascending=False) 

#team升序,Q1降序
df.sort_values(['team', 'Q1'], ascending=[True, False])

(九)分组聚合

类似SQL的groupby的数据透视功能:

1、分组后对应列相加

df.groupby('team').sum() # 按团队分组对应列相加

2、分组后求平均

df.groupby('team').mean() # 按团队分组对应列求平均

3、不同列不同计算

df.groupby('team').agg({'Q1': sum,  
                        'Q2': 'count', 
                        'Q3':'mean', 
                        'Q4': max})

(十)数据转换

进行转置,按照轴对称翻转

df.groupby('team').sum().T

对聚合后的数据转置:
在这里插入图片描述

df.groupby('team').sum().stack()

out:
在这里插入图片描述

df.groupby('team').sum().unstack()

out:
在这里插入图片描述

(十一)增加列

#增加一个固定值的列
df['one'] = 1 

#增加总成绩列,指定一些列相加增加一个新列
df['total'] = df.Q1 + df.Q2 + df.Q3 + df.Q4 

#把计算的结果复制给新的列
df['total'] = df.loc[:,'Q1':'Q4'].apply(lambda x:sum(x), axis=1)
# 可以把所有为数字的列相加
df['total'] = df.sum(axis=1) 
# 增加平均成绩列
df['avg'] = df.total/4 

(十二)统计分析

df.mean() # 返回所有列的均值
df.mean(1) # 返回所有行的均值,下同
df.corr() # 返回列与列之间的相关系数
df.count() # 返回每一列中的非空值的个数
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.median() # 返回每一列的中位数
df.std() # 返回每一列的标准差
df.var() # 方差
s.mode() # 众数

(十三)绘图

使用matplotlib画图

df['Q1'].plot() # Q1 成绩的折线分布
df.loc['Ben','Q1':'Q4'].plot() # ben 四个季度的成绩变化
df.loc[ 'Ben','Q1':'Q4'].plot.bar() # 柱状图
df.loc[ 'Ben','Q1':'Q4'].plot.barh() # 横向柱状图
df.groupby('team').sum().T.plot() # 各 Team 四个季度总成绩趋势
df.groupby('team').count().Q1.plot.pie() # 各组人数对比

(十四)导出

导出文件在notebook文件的同一目录下

df.to_excel('team-done.xlsx') # 导出 excel
df.to_csv('team-done.csv') # 导出 csv

(十五)小结

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
pandas是一个基于Python的开源数据分析工具,它提供了快速、灵活和高效地处理和分析数据的功能。pandas的官方文档是学习和使用pandas的重要资源之一,其中包含了详细的用法示例、函数说明和实战案例,对于初学者和高级用户都非常有帮助。 想要下载深入浅出pandas的PDF版本,可以通过以下步骤进行: 1. 打开浏览器,进入搜索引擎,例如Google或百度。 2. 在搜索框中输入“深入浅出pandas PDF下载”等相关关键词,点击搜索按钮。 3. 检查搜索结果,寻找可靠且权威的网站,例如官方网站或知名技术博客。 4. 点击相关的网页链接,进入网页。 5. 在网页上查找或搜索“下载”、“PDF”或类似的关键词,找到与pandas相关的资源。 6. 确认找到的资源包含深入浅出pandas的PDF版本。 7. 根据网页的要求,可能需要进行注册或登录,按照相应的步骤进行操作。 8. 在得到下载权限后,点击下载按钮或链接,开始下载深入浅出pandas的PDF版本。 9. 下载完成后,可以在下载文件夹或指定位置找到下载的PDF文件。 10. 可以使用PDF阅读器打开该文件,阅读和学习深入浅出pandas的内容。 需要注意的是,网上提供的资源不一定都是免费的,有的可能需要付费。此外,官方文档是持续更新和改进的,建议定期访问官方文档网站,以获取最新版本的深入浅出pandas文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值