zoukankan      html  css  js  c++  java
  • pandas 初识(一)

    基本内容

    Series:

    • Series 是有一组数据(numpy的数据类型 numpy.ndarray)以及一组数据标签(即索引)组成,可以看成一个一个定长的有序字典(索引值到数据值的一个映射)

    obj = Series([4, 7, -5, 3])
    print(type(obj))
    print(type(obj.values))
    obj.values

    <class 'pandas.core.series.Series'>
    <class 'numpy.ndarray'>

    array([ 4,  7, -5,  3], dtype=int64)

    • 创建:
      • 通过序列 + index,index 默认为自然数
    obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
    obj2.values.tolist()
      • 通过字典
    obj2 = Series({'d': 4, 'b': 7, 'a': -5, 'c': 3})
    obj2.to_dict()

    DataFrame

    • 介绍:
      • 表型数据结构,可以看做有多个拥有同一索引的Series构成的字典
    • 创建:
      • 通过字典(平铺) + index + columns :
    data = {
        'state': ['a', 'a', 'a', 'b', 'b'],
        'year': [2000, 2001, 2002, 2001, 2002],
        'pop': [1.5, 1.7, 3.6, 2.4, 2.9]
    }
    df = DataFrame(data=data)
    print("df=", df)

    注: index, columns 均为list, 如果没有给定,则为默认, index 默认为自然数,columns 默认为按照它排序

      • 通过嵌套字典:
    data = {
        'state': {0: 'a', 1: 'a', 2: 'a', 3: 'b', 4: 'b'}, 
        'year': {0: 2000, 1: 2001, 2: 2002, 3: 2001, 4: 2002}, 
        'pop': {0: 1.5, 1: 1.7, 2: 3.6, 3: 2.4, 4: 2.9}
    }
    df = DataFrame(data=data)
    print("df=", df)

    state year pop
    a a 2000 1.5
    b a 2001 1.7
    c a 2002 3.6
    d b 2001 2.4
    e b 2002 2.9

      • 二维 ndarray, 数组、列表,元组,可以加入行,列label
    data3 = [['a', 2000, 1.5],
           ['a', 2001, 1.7],
           ['a', 2002, 3.6],
           ['b', 2001, 2.4],
           ['b', 2002, 2.9]]
    • 列(特征访问),默认的访问对象, 结果为一个Series:
      • 通过属性的方式: df.state
      • 通过字典的方式: df["state"]
    • 行访问,通过访问索引,结果为一个Series:
      • ix:被下面2个代替
      • loc : 访问的索引值,即行值 index label
      • iloc : 访问的索引行,即行号,index position
    • 索引的重置:
      • reindex(列表a, method="ffill"):按照a进行重新排列样本数据,源索引不存在,样本添加缺少值, method 缺失值的填充方式
      • set_index(n) : 参数为字符串(列)或者列的序列,集合。函数会将一个或多个列转换为行索引,并创建新的DataFrame
      • reset_index() :  以当前顺序删除旧的索引,重新生成新索引(自然数)
  • 相关阅读:
    requestAnimationFrame
    js来监控复制粘贴
    nodejs事件循环
    前端路由
    js基础查漏补缺(更新)
    http & https & http2.0
    进度条方案
    移动端适配方案
    性能优化之节流、防抖
    altium designer 里如何设置PCB默认字符默认大小(PCB丝印)
  • 原文地址:https://www.cnblogs.com/spaceapp/p/10651504.html
Copyright © 2011-2022 走看看