zoukankan      html  css  js  c++  java
  • pandas中数据框的一些常见用法

    1、创建数据框或读取外部csv文件

    • 创建数据框数据
    """ 设计数据 """
    import pandas as pd
    
    data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
    index = ["X","Y","Z"]
    df = pd.DataFrame(data=data, index=index)
    print(df)
    

    """ 读取数据 """
    import pandas as pd
    
    df = pd.read_csv("data/data.csv", header=None)
    

    2、重置索引

    import pandas as pd
    
    """ 设计数据 """
    data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
    index = ["X","Y","Z"]
    df = pd.DataFrame(data=data, index=index)
    
    """ 重置索引,从0开始计数 """
    # 获取行数
    nrow = df.shape[0]
    # 获取列数
    ncol = df.shape[1]
    print("该数据框有%d行, %d列" %(nrow,ncol))
    # 重置行索引
    df.index = range(nrow)
    # df.index = [1,2,3] # 也可以使用自定义手动方式
    # 重置列索引
    df.columns = range(ncol)
    
    print(df)
    

    3、行列读取

    • 读取列
    import pandas as pd
    
    """ 设计数据 """
    data = {"A": [2,3,9], "B": [4,6,11], "C": [5,6,12], "D": [6,1,5]}
    index = ["X","Y","Z"]
    df = pd.DataFrame(data=data, index=index)
    
    """ 读取数据框 """
    # 读取列
    a = df.ix[:, 0]  # 读取单列——第0列
    b = df.ix[:, 0:2] # 读取连续列——第0,1,2列
    c = df.ix[:, [0,2]] # 读取指定某些列——第0,2列
    print(a)
    print(b)
    print(c)
    



    • 读取行(同理)
    # 读取行
    d = df.ix[0, :]  # 读取单行——第0行
    e = df.ix[0:2, :] # 读取连续行——第0,1,2行
    f = df.ix[[0,2], :] # 读取指定某些行——第0,2行
    print(d)
    print(e)
    print(f)
    



    4、数据合并

    """ 数据合并 """
    import pandas as pd
    data1 = {"0": [2,3,9], "1": [4,6,11], "2": [5,6,12], "3": [6,1,5]}
    index = [0,1,2]
    df1 = pd.DataFrame(data=data1, index=index)
    
    data2 = {"4": [3,9,11], "5": [4,6,20]}
    df2 = pd.DataFrame(data=data2, index=index)
    
    # 合并数据框(合并前需要确保数据是DataFrame格式), 其中,如果axis=1,ignore_index将改变的是列上的索引(属性名)
    df = pd.concat([pd.DataFrame(df1), pd.DataFrame(df2)], axis=1) # axis=1 表示横向合并(左右);axis=0 表示纵向合并(上下)
    print(df)
    

    df1:

    df2:

    df:

  • 相关阅读:
    YOLOv5实现自定义对象训练与OpenVINO部署全解析
    GMS程序调试指南GMS-Feature-Matcher
    MobileNet V3与Lite R-ASPP 总结
    codevs 3385 拯救Oier(一) Save Oier—first
    喵哈哈村的魔法考试 Round #6 (Div.3) 题解
    POJ 1852 Ants
    加强赛第一轮题解
    喵哈哈村的魔法考试 Round #3 (Div.2)
    python小数据池,代码块的最详细、深入剖析
    比较三个数的大小
  • 原文地址:https://www.cnblogs.com/komean/p/10796616.html
Copyright © 2011-2022 走看看