Pandas基本用法(详细2.0)

Pandas

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型

  • Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

  • Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。

  • Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。

  • Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。

  • Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。

  • Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

1.0 Series构造

Series是一种类似于字典(dict-like)的一维数组(array-like)的对象,由下面两个部分组成:

  • values:一组数据(ndarray类型)
  • index:相关的数据索引标签

构造Series

pandas.Series(data=None,index=None)    

ndarray 构造Series

1) From ndarray 使用ndarray构造     # 是一个引用对象(共用一个内存数据,数据变更相互影响)

List 构造Series

2) From List 使用列表构造         # 是一个副本对象(copy一个新内容,数据变更互不影响)

Dict 构造Series

3) From dict 使用字典构造         # 一般不用指定index,因为dict中的key做为Series的显示索引低于index的优先级值会显示NaN

value 构造 Series

4) From scalar value 使用value构造       # 使用一个标量(常量或变量)构造时,必须指定index,标量会被重复匹配到每一个index

1.1 Series属性

  • name 返回Series对象的名字                      # name表示列名
  • shape 返回Series对象的形状                     # shape表示形状维度
  • size 返回Series对象的元素个数                  # size表示元素个数
  • index 返回Series对象的显示索引                # index返回所有索引
  • values 返回Sereis对象的所有元素值           # values返回所有值

1.2 Series的数学运算

Series对大多数NumPy的函数都是兼容的

1) 与非pandas对象运算

服从广播机制原则

2) NumPy functions

3) Series之间运算

  • 索引对齐原则
  • 对不齐补空值, 使用add\sub\mul\div函数处理空值

2.0 DataFrame

DataFrame是一个二维的表格型数据结构,可以看做是由Series组成的字典(共用同一个索引)。
DataFrame由按一定顺序排列的【多列】数据组成,每一列的数据类型可能不同。
设计初衷是将Series的使用场景从一维拓展到多维。DataFrame既有行索引,也有列索引。

  • 行索引:index
  • 列索引:columns
  • 值:values(numpy的二维数组)

2.1 DataFrame 构造

 DataFrame 列与列之间可以是不同类型。

pandas.DataFrame()       #data=None 用于构造DataFrame数据;index=None;columns=None, 行列索引;dtype=None, 数据类型;copy=False,当data参数是dict字典类型时,需要指定index数值,因为dict无序列,也可以在dict外加 [ ] 列表解决

1) From dict of Series or dicts 使用一个由Series构造的字典或一个字典构造

2) From dict of ndarrays / lists 使用一个由列表或ndarray构造的字典构造ndarrays必须长度保持一致

3) From a list of dicts 使用一个由字典构成的列表构造

4) DataFrame.from_dict()    函数构造

names = ['张三','李四','王五','赵六','老王']
yuwen = np.random.randint(0, 100, size=5)
shuxue = np.random.randint(0, 100, size=5) 

display(names, yuwen, shuxue)

dictionary = {
    'names':names,
    '语文':yuwen,
    '数学':shuxue
}

score = pd.DataFrame(data=dictionary)

2.2 DataFrame属性

  • dtypes
  • values
  • index
  • columns

df.dtypes       # 表示查看df内各列类型

df.values        #  表示查看所有数据值

df.index          # 查看行标签

df.columns     # 查看列标签

2.3 DataFrame运算

DataFrame和Series运算,默认就是列索引对齐原则

1) 与非pandas对象运算      # 序列必须相同

2)  与Series对象运算        # DataFrame和Series运算,默认就是列索引对齐原则

3) 与DataFrame对象运算

  • 索引对齐原则(row\co
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值