• Pandas系列教程(2)Pandas数据结构


    Pandas数据结构

    DataFrame: 二维数组,整个表格,多行多列

    Series: 一维数据,一行或一列

     

    1、Series

     Series是一种类似于一维数组的对象,他由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成

    import pandas as pd
    import numpy as np
    
    # ================= 1 仅有数据列表即可产生最简单的Series =================
    s1 = pd.Series([1, 'a', 5.2, 7])
    # 左侧为索引,右侧是数据
    print(s1)
    # 获取索引
    print(s1.index)
    # 获取数据
    print(s1.values)
    print('*' * 50)
    
    # ================= 2 创建一个具有标签索引的Series =================
    s2 = pd.Series([1, 'a', 5.2, 7], index=['d', 'b', 'a', 'c'])
    # 左侧为索引,右侧是数据
    print(s2)
    # 获取索引
    print(s2.index)
    # 获取数据
    print(s2.values)
    print('*' * 50)
    
    # ================= 3 使用Python字典创建Series =================
    data = {"Ohio": 35000, "Texas": 72000, "Oregon": 16000, "Utah": 5000}
    s3 = pd.Series(data)
    # 左侧为索引,右侧是数据
    print(s3)
    # 获取索引
    print(s3.index)
    # 获取数据
    print(s3.values)
    
    # ================= 4 根据标签索引查询数据 =================
    s4 = pd.Series([1, 'a', 5.2, 7], index=['d', 'b', 'a', 'c'])
    # 左侧为索引,右侧是数据
    print(s4)
    # 获取index为a的元素
    print(s4['a'])
    print(type(s4['a']))
    # 获取指定的多个值
    print(s4[['b', 'a']])
    print(type(s4[['b', 'a']]))

    2、DataFrame

    DataFrame是一个表格型的数据结构

    • 每列可以是不同的值类型(数值,字符串,布尔值等)

    • 既有行索引index, 也有columns

    • 可以被看做由Series组成的字典

    创建dataframe最常用的方法,见Panda数据读取

    import pandas as pd
    
    data = {
        "state": ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
        "year": [2000, 2001, 2002, 2003, 2004],
        "pop": [1.5, 1.7, 3.6, 2.4, 2.9]
    }
    df = pd.DataFrame(data)
    print(df)
    
    # 获取每列的数据类型
    print(df.dtypes)
    
    # 获取每列的键名
    print(df.columns)
    
    # 获取索引
    print(df.index)

    3、从DataFrame中查询出Series

    • 如果只查询出一行,一列,返回的是pd.Series

    • 如果查询多列,多行,发挥的是pd.DataFrame

    import pandas as pd
    
    data = {
        "state": ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
        "year": [2000, 2001, 2002, 2003, 2004],
        "pop": [1.5, 1.7, 3.6, 2.4, 2.9]
    }
    df = pd.DataFrame(data)
    print(df, '
    ')
    
    # 查询一列,结果是一个pd.Series
    print(df['year'], type(df['year']), '
    ')
    
    # 查询多列,结果是一个pd.DataFrame
    print(df[['year', 'pop']], type(df[['year', 'pop']]), '
    ')
    
    # 查询一行,结果是一个pd.Series
    print(df.loc[1], type(df.loc[1]), '
    ')
    
    # 查询多行,结果是一个pd.DataFrame
    print(df.loc[1:3], type(df.loc[1:3]))
  • 相关阅读:
    【Html】Clipboard.js 实现点击复制,剪切板操作
    【转】【Python】python使用urlopen/urlretrieve下载文件时出现403 forbidden的解决方法
    【Html】div 加载 html页面的方法
    【WPF】创建文本字符串的路径PathGeometry
    【WPF】自定义鼠标样式
    Linux 错误记录
    微信开放平台代公众号管理
    微信开放平台获取授权公众号的流程
    vue-router "path" is required in a route configuration
    最大连接数“65535”的误解
  • 原文地址:https://www.cnblogs.com/xingxingnbsp/p/13851616.html
Copyright © 2020-2023  润新知