pandas 用法总结

简介

pandas 是基于numpy构建的,让以numpy为中心的应用变得更加简单。

#pandas 导入
import pandas as pd
# pandas的两种数据结构
from pandas import Series, DataFrame

一、pandas的两种数据结构

1、Series

Series是一种类似于一维数组的对象,它是由一组数据(各种Numpy数据类型)以及与之相关的数据标签(即索引组成)。仅由一组数据即可产生最简单的Series。

obj = pd.Series([1, 3, 4, 5.6])
obj
# 输出
0    1.0
1    3.0
2    4.0
3    5.6
dtype: float64

Series的字符串表现形式为:索引在左边,值在右边。由于没有设定索引,会自动创建由0到N-1的整数型索引。可以通过Series的values和index属性来获取数组的表示形式和索引对象。

print(obj.values)
print(obj.index)
#输出
[1.  3.  4.  5.6]
RangeIndex(start=0, stop=4, step=1)

对Series的各个数据点设置索引值

obj1 = pd.Series([1, 3, 4, 5.6], index=['Bob', 'Joe', 'Will', 'Jack'])
obj1
# 输出:
Bob     1.0
Joe     3.0
Will    4.0
Jack    5.6
dtype: float64

与普通的Numpy数组相比,可以通过索引的方式选取Series中的单个或一组值

obj1['Bob']
# 输出:1.0
obj1[['Bob', 'Joe']]
# 输出:
Bob    1.0
Joe    3.0
dtype: float64

进行Numpy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接。

obj1[obj1>2]
# 输出
Joe     3.0
Will    4.0
Jack    5.6
dtype: float64
obj1*2
# 输出
Bob      2.0
Joe      6.0
Will     8.0
Jack    11.2
dtype: float64

还可以将Series看成是一个定长的有序字典,因为它是索引值到数据的一个映射。

'Bob' in obj1
# 输出:True

# 传入一个字典,则series中的索引就是原字典的键
color = {
   'red': 2, 'green':5, 'black':4}
obj2 = pd.Series(color)
obj2
# 输出:
red      2
green    5
black    4
dtype: int64

color2 = ['red', 'green', 'orange', 'yellow']
obj3 = pd.Series(obj2, index=color2)
obj3
#输出
red       2.0
green     5.0
orange    NaN
yellow    NaN
dtype: float64

在pandas中使用NaN表示缺失值,可以用pd.isnull() 和pd.notnull() 来检测缺失值

pd.isnull(obj3)
# 等价于 obj3.isnull()
# 输出:
red       False
green     False
orange     True
yellow     True
dtype: bool


pd.notnull(obj3)
# 等价于 obj3.notnull()
# 输出:
red        True
green      True
orange    False
yellow    False
dtype: bool

Series还有一个重要的功能是在算术运算中会自动对齐不同索引的数据,比如上面的obj2 和obj3
另外,Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系密切

obj3.name = 'number'
obj3.index.name = 'color'
obj3
# 输出
color
red       2.0
green     5.0
orange    NaN
yellow    NaN
Name: number, dtype: float64

Series的索引可以通过赋值的方式就地修改

obj3.index=['Bob', 'Joe', 'Will', 'Jack']
obj3
# 输出
Bob     2.0
Joe     5.0
Will    NaN
Jack    NaN
Name: number, dtype: float64
2、DataFrame

DataFrame 是一个表格型的数据结构,含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,可以看做由Series组成的字典。DataFrame中面向行和列的操作是平衡的。
构建DataFrame
传入一个由等长列表或Numpy数组组成的字典

data 
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值