• pandas 级联 concat append


    连接的一个有用的快捷方式是在Series和DataFrame实例的append方法。这些方法实际上早于concat()方法。 它们沿axis=0连接

    #encoding:utf8
    import pandas as pd
    one = pd.DataFrame({
             'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
             'subject_id':['sub1','sub2','sub4','sub6','sub5'],
             'Marks_scored':[98,90,87,69,78]},
             index=[1,2,3,4,5])
    two = pd.DataFrame({
             'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
             'subject_id':['sub2','sub4','sub3','sub6','sub5'],
             'Marks_scored':[89,80,79,97,88]},
             index=[1,2,3,4,5])
    print("one:")
    print(one)
    print("two:")
    print(two)
    rs = pd.concat([one,two])
    print("rs = pd.concat([one,two])")
    print(rs)
    print("rs = pd.concat([one,two],keys=['x','y'])")
    rs = pd.concat([one,two],keys=['x','y'])
    print(rs)
    print("结果的索引是重复的; 每个索引重复。如果想要生成的对象必须遵循自己的索引,请将ignore_index设置为True:")
    print("rs = pd.concat([one,two],keys=['x','y'],ignore_index=True)")
    rs = pd.concat([one,two],keys=['x','y'],ignore_index=True)
    print(rs)
    print("观察,索引完全改变,键也被覆盖。如果需要沿axis=1添加两个对象,则会添加新列:")
    rs = pd.concat([one,two],axis=1)
    print(rs)
    print("rs = one.append(two):")
    rs = one.append(two)
    print(rs)
    print("append()函数也可以带多个对象:")
    rs = one.append([two,one,two])
    print(rs)
    
    
    
    
    D:Downloadpython3python3.exe D:/Download/pycharmworkspace/s.py
    one:
       Marks_scored    Name subject_id
    1            98    Alex       sub1
    2            90     Amy       sub2
    3            87   Allen       sub4
    4            69   Alice       sub6
    5            78  Ayoung       sub5
    two:
       Marks_scored   Name subject_id
    1            89  Billy       sub2
    2            80  Brian       sub4
    3            79   Bran       sub3
    4            97  Bryce       sub6
    5            88  Betty       sub5
    rs = pd.concat([one,two])
       Marks_scored    Name subject_id
    1            98    Alex       sub1
    2            90     Amy       sub2
    3            87   Allen       sub4
    4            69   Alice       sub6
    5            78  Ayoung       sub5
    1            89   Billy       sub2
    2            80   Brian       sub4
    3            79    Bran       sub3
    4            97   Bryce       sub6
    5            88   Betty       sub5
    rs = pd.concat([one,two],keys=['x','y'])
         Marks_scored    Name subject_id
    x 1            98    Alex       sub1
      2            90     Amy       sub2
      3            87   Allen       sub4
      4            69   Alice       sub6
      5            78  Ayoung       sub5
    y 1            89   Billy       sub2
      2            80   Brian       sub4
      3            79    Bran       sub3
      4            97   Bryce       sub6
      5            88   Betty       sub5
    结果的索引是重复的; 每个索引重复。如果想要生成的对象必须遵循自己的索引,请将ignore_index设置为True:
    rs = pd.concat([one,two],keys=['x','y'],ignore_index=True)
       Marks_scored    Name subject_id
    0            98    Alex       sub1
    1            90     Amy       sub2
    2            87   Allen       sub4
    3            69   Alice       sub6
    4            78  Ayoung       sub5
    5            89   Billy       sub2
    6            80   Brian       sub4
    7            79    Bran       sub3
    8            97   Bryce       sub6
    9            88   Betty       sub5
    观察,索引完全改变,键也被覆盖。如果需要沿axis=1添加两个对象,则会添加新列:
       Marks_scored    Name subject_id  Marks_scored   Name subject_id
    1            98    Alex       sub1            89  Billy       sub2
    2            90     Amy       sub2            80  Brian       sub4
    3            87   Allen       sub4            79   Bran       sub3
    4            69   Alice       sub6            97  Bryce       sub6
    5            78  Ayoung       sub5            88  Betty       sub5
    rs = one.append(two):
       Marks_scored    Name subject_id
    1            98    Alex       sub1
    2            90     Amy       sub2
    3            87   Allen       sub4
    4            69   Alice       sub6
    5            78  Ayoung       sub5
    1            89   Billy       sub2
    2            80   Brian       sub4
    3            79    Bran       sub3
    4            97   Bryce       sub6
    5            88   Betty       sub5
    append()函数也可以带多个对象:
       Marks_scored    Name subject_id
    1            98    Alex       sub1
    2            90     Amy       sub2
    3            87   Allen       sub4
    4            69   Alice       sub6
    5            78  Ayoung       sub5
    1            89   Billy       sub2
    2            80   Brian       sub4
    3            79    Bran       sub3
    4            97   Bryce       sub6
    5            88   Betty       sub5
    1            98    Alex       sub1
    2            90     Amy       sub2
    3            87   Allen       sub4
    4            69   Alice       sub6
    5            78  Ayoung       sub5
    1            89   Billy       sub2
    2            80   Brian       sub4
    3            79    Bran       sub3
    4            97   Bryce       sub6
    5            88   Betty       sub5
    
    Process finished with exit code 0
  • 相关阅读:
    对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
    Java基础学习笔记四 Java基础语法
    Java基础学习笔记一 Java介绍
    Java基础学习笔记二 Java基础语法
    Elasticsearch重要配置
    Elasticsearch配置
    Elasticsearch安装详解
    Elasticsearch文档查询
    Elasticsearch索引和文档操作
    Angular4项目,默认的package.json创建及配置
  • 原文地址:https://www.cnblogs.com/ggzhangxiaochao/p/9094320.html
Copyright © 2020-2023  润新知