百科问答小站 logo
百科问答小站 font logo



学习python中的pandas有没有好的教程推荐? 第1页

  

user avatar   pydatalysis 网友的相关建议: 
      

看到Pandas我可就不困了,这是我用的最多的工具。

Pandas作为Python数科领域最顶级的库之一,就像excel之于office,是处理数据必备工具。

Pandas的学习教程自然不会少,在Github上搜索Pandas,会出现超过6万个项目,可见其受众之多。

如果说学习Pandas最好的教程是什么,那毫无疑问是官方文档,从小白到高手,它都给你安排的妥妥的,这个后面详细介绍。

下面我会从入门、进阶、练习四个三面给你们推荐相应的教程和资源。

如果你对Pandas还不了解,可以先看我这篇介绍

朱卫军:为什么Pandas是最流行的Python数据分析库?

一、入门教程

十分钟入门Pandas(英文版)

这是Pandas官网专门为新手写的入门引导,大概就几千字,包括对Pandas的简要介绍,和一些基本的功能函数。

主要的内容有:数据的创建、查看、筛选、拼接、连接、分组、变形、可视化等等。

而且这个小册子包含了很多代码示例,如果你能完整过一遍,入门Pandas基本没啥问题。

中文版似乎也有,但翻译的准确性大家自己识别斟酌下。

十分钟入门 Pandas | Pandas 中文


利用Pandas进行数据分析

这本书不用了说了,可能是你入门python数据分析的第一本书,它的作者是Pandas库的核心开发者,也就是说这本书相当于是Pandas的官方出版教程。

为什么它适合入门pandas,因为整本书的编排是从数据分析的角度切入的,由浅入深将pandas对数据的处理讲的很透彻。

当然这本书也存在知识点过于零碎,翻译不到位的问题,但整体来说是本好书。

w3schools pandas tutorial

w3school的pandas文档, 逻辑比较清晰,也是从数据分析角度去讲pandas。

Learn Pandas Tutorials

数据科学平台kaggle提供的pandas入门教程,共六大节涵盖了pandas数据处理各种方法。

joyful-pandas

国内小伙伴写的Pandas笔记,挺详细的,大家可以去下载项目里的notebook,放到自己电脑里练习。

二、进阶教程

pandas用户指南

这是pandas官网的教程,非常详细,主要从数据处理的角度介绍相应的pandas函数,方便用户查阅。

如果你的英文还不错,也喜欢阅读技术文档,我是建议花时间把这份指南看一遍,配合练习。

我把整个pandas文档下载下来,发现足足有3000多页。

pandas api检索

官网的pandas api集合,也就是pandas所有函数方法的使用规则,是字典式的教程,建议多查查。

pandas-cookbook

这是一个开源文档,作者不光介绍了Pandas的基本语法,还给出了大量的数据案例,让你在分析数据的过程中熟悉pandas各种操作。

Python Data Science Handbook

数据科学书册,不光有pandas,还有ipython、numpy、matplotlib、sklearn,这些都是深入学习pandas不可缺少的工具。

三、练习资源

Pandas练习集

github上一个练习项目,针对pandas每个功能都有对应的真实数据练习。


101个Pandas练习

一位国外博主总结的100多个pandas练习题,非常全面。

datacamp

数据科学教程网站,里面有大量pandas的练习题,还提供了详细的速查表。


四、小结

pandas的教程主要还是以英文为主,国内翻译的质量参差不齐,还是建议你在入门后多去看英文文档,这是第一手资料,也是最靠谱的。


user avatar   yi-liang-zhui-rou-wu 网友的相关建议: 
      

Pandas是入门Python做数据分析所必须要掌握的一个库,这里精选了十套练习题,可帮助你快速上手Python代码,完成数据集探索。

【小提示:本文所使用的数据集下载地址:DATA | TRAIN 练习数据集

原文链接:

练习1-开始了解你的数据

探索Chipotle快餐数据

相应数据集:chipotle.tsv

步骤1 导入必要的库

       # 运行以下代码 import pandas as pd     

步骤2 从如下地址导入数据集

       # 运行以下代码 path1 = "../input/pandas_exercise/exercise_data/chipotle.tsv"    # chipotle.tsv     

步骤3 将数据集存入一个名为chipo的数据框内

       # 运行以下代码 chipo = pd.read_csv(path1, sep = '	')     

步骤4 查看前10行内容

       # 运行以下代码 chipo.head(10)     

out[235]:

步骤6 数据集中有多少个列(columns)

       # 运行以下代码 chipo.shape[1]     

out[236]:

5

步骤7 打印出全部的列名称

       # 运行以下代码 chipo.columns     

out[237]:

Index(['order_id', 'quantity', 'item_name', 'choice_description', 'item_price'], dtype='object')

步骤8 数据集的索引是怎样的

       # 运行以下代码 chipo.index     

out[238]:

RangeIndex(start=0, stop=4622, step=1)

步骤9 被下单数最多商品(item)是什么?

       # 运行以下代码,做了修正 c = chipo[['item_name','quantity']].groupby(['item_name'],as_index=False).agg({'quantity':sum}) c.sort_values(['quantity'],ascending=False,inplace=True) c.head()     

out[239]:

步骤10 在item_name这一列中,一共有多少种商品被下单?

       # 运行以下代码 chipo['item_name'].nunique()     

out[240]:

50

步骤11 在choice_description中,下单次数最多的商品是什么?

       # 运行以下代码,存在一些小问题 chipo['choice_description'].value_counts().head()     

out[241]:


[Diet Coke] 134
[Coke] 123
[Sprite] 77
[Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Lettuce]] 42
[Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Guacamole, Lettuce]] 40
Name: choice_description, dtype: int64

步骤12 一共有多少商品被下单?

       # 运行以下代码 total_items_orders = chipo['quantity'].sum() total_items_orders     

out[242]:

4972

步骤13 将item_price转换为浮点数

       # 运行以下代码 dollarizer = lambda x: float(x[1:-1]) chipo['item_price'] = chipo['item_price'].apply(dollarizer)     

步骤14 在该数据集对应的时期内,收入(revenue)是多少

       # 运行以下代码,已经做更正 chipo['sub_total'] = round(chipo['item_price'] * chipo['quantity'],2) chipo['sub_total'].sum()     

out[244]:

39237.02

步骤15 在该数据集对应的时期内,一共有多少订单?

       # 运行以下代码 chipo['order_id'].nunique()     

out[245]:

1834

步骤16 每一单(order)对应的平均总价是多少?

       # 运行以下代码,已经做过更正 chipo[['order_id','sub_total']].groupby(by=['order_id'] ).agg({'sub_total':'sum'})['sub_total'].mean()     

out[246]:

21.39423118865867

步骤17 一共有多少种不同的商品被售出?

       # 运行以下代码 chipo['item_name'].nunique()     

out[247]:

50



练习2-数据过滤与排序

探索2012欧洲杯数据

相应数据集:Euro2012_stats.csv

步骤1 - 导入必要的库

       # 运行以下代码 import pandas as pd     

步骤2 - 从以下地址导入数据集

       # 运行以下代码 path2 = "../input/pandas_exercise/exercise_data/Euro2012_stats.csv"      # Euro2012_stats.csv     

步骤3 - 将数据集命名为euro12

       # 运行以下代码 euro12 = pd.read_csv(path2) euro12     

out[250]:

步骤4 只选取 Goals 这一列

       # 运行以下代码 euro12.Goals     

out[251]:

0 4
1 4
2 4
3 5
4 3
5 10
6 5
7 6
8 2
9 2
10 6
11 1
12 5
13 12
14 5
15 2
Name: Goals, dtype: int64

步骤5 有多少球队参与了2012欧洲杯?

       # 运行以下代码 euro12.shape[0]     

out[252]:

16

步骤6 该数据集中一共有多少列(columns)?

       # 运行以下代码 euro12.info()     

步骤7 将数据集中的列Team, Yellow Cards和Red Cards单独存为一个名叫discipline的数据框

       # 运行以下代码 discipline = euro12[['Team', 'Yellow Cards', 'Red Cards']] discipline     

out[254]:

步骤8 对数据框discipline按照先Red Cards再Yellow Cards进行排序

       # 运行以下代码 discipline.sort_values(['Red Cards', 'Yellow Cards'], ascending = False)     

out[255]:

步骤9 计算每个球队拿到的黄牌数的平均值

       # 运行以下代码 round(discipline['Yellow Cards'].mean())     

out[256]:

7.0

步骤10 找到进球数Goals超过6的球队数据

       # 运行以下代码 euro12[euro12.Goals > 6]     

out[257]:

步骤11 选取以字母G开头的球队数据

       # 运行以下代码 euro12[euro12.Team.str.startswith('G')]     

out[258]:

步骤12 选取前7列

       # 运行以下代码 euro12.iloc[: , 0:7]     

out[259]:

步骤13 选取除了最后3列之外的全部列

       # 运行以下代码 euro12.iloc[: , :-3]     

out[260]:

步骤14 找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)

       # 运行以下代码 euro12.loc[euro12.Team.isin(['England', 'Italy', 'Russia']), ['Team','Shooting Accuracy']]     

out[261]:

查看完整内容可点击以下文章链接,或前往和鲸社区查看


user avatar   wen-yu-zhi-37 网友的相关建议: 
      

我是运筹优化方向出身也经常会使用pandas来处理数据,学习pandas的困惑就是资料太多,经常东一榔头西一棒子的,缺乏系统性的学习。最近我们运筹OR帷幄的一些机器学习和数据分析的爱好者和志愿者编写了pandas电子书,将其开源在GitHub上大家可以免费获取,主要目的就是让大家能够一站式的系统学习pandas的基本内容,避免网上过多的杂乱的教程。

其目录如下分为理论和实践两部分,理论部分1-4章是关于pandas的基础理论简介,从pandas安装,dataframe数据结构的介绍到数据导入导出,再到数据分组聚合,再到数据索引和缺失值处理。循序渐进的一个过程涵盖了数据处理所必须的基本步骤。第5章是进阶教程新手小白可以先跳过。实践部分有4个案例涵盖各个方面,在学习完理论之后通过实战可以强化前面所学的理论。

本书最大的特点是简单易上手,每一章节都有相应的jupyter文件,可以直接放在带有jupyter notebook的python环境中运行。每个部分分为文档介绍和code内容,code部分采用jupyter的形式凸出结果展示。

理论

预备章:Jupyter简介

第一章:数据分析入门 (code)

第二章:数据导入与导出 (code)

第三章:数据分组与聚合 (code)

第四章:数据的索引、汇总和缺失处理 (code)

第五章:从 Pandas 小白到 Pandas 能手(code)

实践:

分析实例一:豆瓣电影分析--华语篇(code)

分析实例二:豆瓣电影分析--全球篇(code)

分析实例三:NBA 投篮数据分析(code)

分析实例四:运筹学薪资分析(code)


其实通过编写pandas电子书本身也是一个很好的学习过程,运筹OR帷幄社区未来还会编写更多的电子书,目前也在筹划机器学习方面的电子书,欢迎感兴趣的童鞋可以加入进来,这样可以一边输出一边学习。

特别感谢参与本书编辑的同学:yeungsk,tiny-boat,xingyu321,qiu-pinggaizi,同时感谢 @运筹OR帷幄 的支持




  

相关话题

  湖南一中学校长为教学生节约粮食,站垃圾桶旁吃学生剩饭,如何看待这样的教育方式? 
  为什么不使用 scrapy,而是从头编写爬虫系统? 
  如何看待 6 名中学生冒大雨抢收国旗? 
  读书突破一万本是一种怎样的感觉? 
  被送进豫章书院的学生本身是否有很大问题? 
  什么是通识教育? 
  人工智能技术会不会最终赶上微积分的历史地位? 
  Python 有哪些能够应用在物理(尤其是凝聚态当中)的 package?主要功能是什么? 
  零基础如何学爬虫技术? 
  在集成电路设计领域(数字,模拟),人工智能有无可能取代人类? 

前一个讨论
一个人怎么在奋斗过程中克服寂寞孤独和恐惧感?
下一个讨论
为什么《你好,李焕英》有穿越情节能过审?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利