• 【pandas】1、Series 与 DaraFrame


    1、Series

    Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

    pandas.Series( data, index, dtype, name, copy)
    
    • 1

    参数说明:

    • data:一组数据(ndarray 类型)。
    • index:数据索引标签,如果不指定,默认从 0 开始。
    • dtype:数据类型,默认会自己判断。
    • name:设置名称。
    • copy:拷贝数据,默认为 False。

    1、使用 列表 创建 Series

    import pandas as pd
    
    students = ['Sam', 'Enzo', 'Lily']
    myclass = pd.Series(students)
    print(myclass)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    从上图可知,如果没有指定索引,索引值就从 0 开始


    2)使用 字典 创建 Series

    import pandas as pd
    
    students = {'name1':'Sam', 'name2':'Enzo', 'name3':'Lily'}
    myclass = pd.Series(students, name='class')
    print(myclass)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    从上图可知,字典的 key 变成了索引值

    如果只需要字典中的一部分数据,通过 index 指定就好了

    import pandas as pd
    
    students = {'name1':'Sam', 'name2':'Enzo', 'name3':'Lily'}
    myclass = pd.Series(students, index=['name1', 'name3'], name='class')
    print(myclass)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述


    3)创建 Series,指定索引和名称

    import pandas as pd
    
    students = ['Sam', 'Enzo', 'Lily']
    index = ['name1', 'name2', 'name3']
    myclass = pd.Series(students, index=index, name='class')
    print(myclass)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述


    4)使用 索引 读取数据

    import pandas as pd
    
    students = ['Sam', 'Enzo', 'Lily']
    index = ['name1', 'name2', 'name3']
    myclass = pd.Series(students, index=index, name='class')
    print(myclass['name2'])
    print(myclass[1:3])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述


    2、DaraFrame

    DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 拼接而成

    在这里插入图片描述

    pandas.DataFrame( data, index, columns, dtype, copy)
    
    • 1

    参数说明:

    • data:一组数据(ndarray、series, map, lists, dict 等类型)。
    • index:索引值,或者可以称为行标签。
    • columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
    • dtype:数据类型。
    • copy:拷贝数据,默认为 False。

    1)使用 列表 创建 DataFrame

    import pandas as pd
    
    data = [['Google',10],
            ['Runoob',12],
            ['Wiki',13]]
    
    df = pd.DataFrame(data,columns=['Site','Age'])
    print(df)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述


    2)使用 字典 创建 DataFrame

    写法一:

    import pandas as pd
    
    data = {'Site':['Google', 'Runoob', 'Wiki'], 
            'Age':[10, 12, 13]}
    
    df = pd.DataFrame(data)
    print (df)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    写法二:

    import pandas as pd
    
    data = [{'Site': 'Google'},{'Site': 'Runoob', 'Age': 12}]
    
    df = pd.DataFrame(data)
    print (df)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述


    3)创建 DataFrame 时,指定索引

    import pandas as pd
    
    data = {'calories':[420, 380, 390], 
            "duration":[50, 40, 45]}
    
    df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
    print(df)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述


    4)使用 loc 读取指定行的数据

    import pandas as pd
    
    data = {'calories':[420, 380, 390], 
            "duration":[50, 40, 45]}
    
    df = pd.DataFrame(data)
    print(df.loc[0])
    print('\n')
    print(df.loc[2])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    注意:返回结果其实就是一个 Pandas Series 数据。


    也可以一次读取多行数据,注意是使用 [[ … ]] 格式,不是 [… ]

    import pandas as pd
    
    data = {'calories':[420, 380, 390], "duration":[50, 40, 45]}
    
    df = pd.DataFrame(data)
    print(df.loc[[0, 2]])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述


    自定义索引时,使用 loc 指定索引值,读取对应的行

    import pandas as pd
    
    data = {
      "calories": [420, 380, 390],
      "duration": [50, 40, 45]
    }
    
    df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
    
    print(df.loc["day1"]) 
    print('\n')
    print(df.loc[["day1", "day3"]]) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

  • 相关阅读:
    shell脚本学习
    ELK Kibana搜索框模糊搜索包含不包含
    #每日一题合集#牛客JZ3-JZ12
    信息安全-网络安全的三大支柱和攻击向量
    Learn Prompt-人工智能基础
    K8s ingress-controller中nginx文件上传大小的限制
    sqlserver==索引解析,执行计划,索引大小
    内网学习笔记(4)
    MongoDB副本集群节点扩容和收缩
    【算法|动态规划No30】leetcode5. 最长回文子串
  • 原文地址:https://blog.csdn.net/weixin_37804469/article/details/126136349