下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 57 | Dataframe的基本操作
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

零基础学Python

共71讲 · 71课时·约540分钟
16024
免费
01 | Python语言的特点
免费
02 | Python的发展历史与版本
免费
03 | Python的安装
免费
04 | Python程序的书写规则
免费
05 | 基础数据类型
免费
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与s...
46 | 正则表达式库替换函数sub...
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹...
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumP...
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代...
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式ge...
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链...
68 | Beautiful Soup的安装和...
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下...
71 | 如何分析源代码并设计合理...
本节摘要

课程源码、课件及课后作业地址:

https://github.com/wilsonyin123/geekbangpython

精选留言(6)

  • 排序这块的结果的含义只是把year放到了第一列?而并非对列里面的内容进行排序?columns=['year', 'city']

    作者回复: 是的,如果需要排序可以使用
    dataframe.sort_index(axis=1)
    dataframe.sort_values(by='xyz')
    dataframe.sort_values(by=['aaa','bbb'])

    1
  • 2019-06-23
    3分跟做
    data = {
        'name':['张三','李四','王五','加留'],
        'age' :[20,30,20,60],
        'sex' :[1,1,0,1],
        'dateBrich' :['2019-01-01','2016-11-11','2017-01-01','2015-11-11']
    }
    obj2 = DataFrame(data)
    obj3 = DataFrame(data,columns=['age','name','sex','dateBrich']) #进行排序,内容会根据列中字段显示
    print(obj2)
    print(obj3)
    发现输出结果一直并没有如您所说的排序 感觉columns这个参数只是对列的一个排列顺序的一个重新定义而不是进行排序
    展开

    作者回复: 是的,你说的是正确的, 这里我表达的不够严谨,应该是重新排列,而不是排序,感谢指出错误。

  • 老师,两种输出方式,输出的结果确不一样,city和year是一致的,pop不一致,为什么?
    data = {
        'city': ['shanghai', 'beijing', 'guangzhou', 'shanghai'],
        'year': [2016, 2019, 2017, 2018],
        'pop': [99, 60, 88, 70]
    }
    frame2 = DataFrame(data, columns=['year', 'city', 'pop'])
    print(frame2['pop'])
    print(frame2.pop)

    0 99
    1 60
    2 88
    3 70
    Name: pop, dtype: int64
    <bound method NDFrame.pop of year city pop
    0 2016 shanghai 99
    1 2019 beijing 60
    2 2017 guangzhou 88
    3 2018 shanghai 70>
    展开

    作者回复: 第一个print(frame2['pop']) 是输出frame2的pop列,第二个是pop方法

  • 2018-12-26
    是版本不同吗? 这里reindex时 全部都编程了fill_value的值了。
    >>> obj = pandas.Series([1,2,3])
    >>> print(obj)
    0 1
    1 2
    2 3
    dtype: int64
    >>> obj2 = obj.reindex(['a','b','c','d','e'],fill_value = 0)
    >>> print(obj2)
    a 0
    b 0
    c 0
    d 0
    e 0
    dtype: int64
    >>>
    展开
    3
  • 2018-12-10
    最后的平均值怎么没有说。。。这个想着应该是需要 code 方法,而填充 0 是直接作为参数就好。。。好难受呀。
  • 2018-12-09
    9:00 时间后面说的是 DataFrame 的 reindex 操作,但是实际是 Series 的数据的 reindex 的操作。

    这个到底是什么节奏?先是 Series 后来是 DataFrame 又变成 Series 的操作,有点凌乱。

    作者回复: 您好, 这里在视频没有交代清楚,导致学习的时候有点脱节;reindex( )是pandas的方法,它同样适用于Series和DataFrame,调用的方式相同,因此使用了Series进行了讲解。