1、为什么学习pandas

我们并不是不愿意学习新的知识,只是在学习之前我们更想知道学习他们能够帮助我们解决什么问题。——伟哥

numpy虽然能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据(字符串、时间序列等等)

2、什么是pandas

pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

译:pandas 是一个开源的、BSD 许可的库,为 Python 编程语言提供高性能、易于使用的数据结构和数据分析工具。

3、pandas的常用数据类型

  • Series 一维,带标签数组(索引)
  • DataFrame 二维,Series容器

4、pandas之Series创建

import pandas as pd
import numpy as np
import string t = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))
print(t)

A 0

B 1

C 2

D 3

E 4

F 5

G 6

H 7

I 8

J 9

dtype: int32

测试一个小案例:

import pandas as pd

student = {"name": "xiaoming", "age": 18, "tel": 110}
t = pd.Series(student)
print(t)

name xiaoming

age 18

tel 110

dtype: object

再测试:

import pandas as pd
import string a = {string.ascii_uppercase[i]: i for i in range(10)}
t = pd.Series(a, index=list(string.ascii_uppercase[5:15]))
print(t)

F 5.0

G 6.0

H 7.0

I 8.0

J 9.0

K NaN

L NaN

M NaN

N NaN

O NaN

dtype: float64

重新指定其他的索引之后,如果能对上,就取值,否则为NaN

注意:pandas会自动根据数据类型更改series的dtype类型

5、pandas之Series切片和索引

import pandas as pd
import numpy as np
import string t = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))
print(t)

测试如下:

切片:直接传入start, end或者步长即可

索引:一个的时候直接传入序号或者 index,多个的时候传入序号或者 index的列表

6、pandas之Series的索引和值

对于一个陌生的series类型,我们如何知道他的索引和具体的值呢?

import pandas as pd
import numpy as np
import string t = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))
print(t)

Series对象本质上由两个数组构成,一个数组构成对象的键(index,索引),一个数组构成对象的值( values),键→值

7、pandas之读取外部数据

现在假设我们有一个组关于狗的名字的统计数据,那么为了观察这组数据的情况,我们应该怎么做呢?

数据来源:https://www.kaggle.com/new-york-city/nyc-dog-names/data

import pandas as pd

# 直接使用pandas读取csv文件
test = pd.read_csv("./dog.csv")
print(test)

但是,还有一个问题:

对于数据库比如mysql或者mongodb中数据我们如何使用呢?

pd.read_sql(sql_sentence,connection)

最新文章

  1. 用angular怎么缓存父页面数据
  2. CSS文件开头到底声明@charset "utf-8"
  3. 剑指Offer:面试题23——从上往下打印二叉树(java实现)
  4. Labview实现幅度信号调制(AM)
  5. firefly笔记一之http模块
  6. Prime Path
  7. select2简单例子
  8. js关键字与保留字的坑。
  9. Android万能适配器base-adapter-helper的源代码分析
  10. UVA 1508 - Equipment dp状态压缩
  11. 在centos7中手动编译greenplum
  12. IOS开发之XCode学习009:UIViewController使用
  13. 创建元素节点createElement
  14. npm安装github包的方式
  15. [转帖]Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压
  16. mac ssh,mac xshell,xshell替代,ssh客户端,ssh工具,远程桌面加速
  17. 幕布V1.1.9最新版漏洞集合
  18. POJ2456 Aggressive cows 二分
  19. mysql集成部署
  20. 关于WSDL的理解

热门文章

  1. lua中的随机数
  2. 【转】Gitlab CI & Docker & Dockerfile & Docker-compose的博客文章
  3. C#动态构建表达式树(三)——表达式的组合
  4. 【C++基础教程】第四课
  5. mysql事务干货详解
  6. Spring Boot中如何配置线程池拒绝策略,妥善处理好溢出的任务
  7. Apache AB(1) - 快速使用
  8. HTML 网页开发、CSS 基础语法——六. HTML基本结构
  9. Loj#6247-九个太阳【单位根反演】
  10. Sentry 监控 - Alerts 告警