• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pandas 使用insert插入一列

    把value插入dataframe的指定位置loc中,若插入的数据value已在DataFrame中,则返回 错误ValueError,如想完成重复值的插入需要把allow_duplicates设置为True

    insert方法详解

    DataFrame.insert(loc, column, value, allow_duplicates=False)

    参数:

    Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.

    Parameters:

    loc :参数column插入的位置,如果想插入到第一例则为0,取值范围: 0 = loc = len(columns),其中len(columns)为Dataframe的列数

    column :给 插入数据value取列名,可为数字,字符串等

    value :可以是整数,Series或者数组等

    allow_duplicates : 默认 False

    1.创建数据

    import pandas as pd
    import numpy as np
    data = {
     'school' : ['北京大学', '清华大学', '山西大学', '山西大学', '武汉大学'],
     'name' : ['江路离', '沈希梦', '来使鹭', '陈曦冉', '姜浩然'],
     'No.' : [20001943, 300044451, 20190006, 20191234, 1242522]
    }
    # data = list(data) -> data = list(data.keys)
    # data = list(data.values())
    
    frame = pd.DataFrame(data)
    print(frame)
    

    结果:

    2.插入数据

    frame.insert(0, 'num', np.ones(5))
    print(frame)

    结果:

    frame.insert(len(frame.columns), 'list', [x for x in range(5)])
    print(frame)

    3.插入已存在数据

    结果:

    4.把allow_duplicates设置为True,可实现重复值的插入

    frame.insert(0, 'num', np.ones(5), allow_duplicates=True)
    print(frame)

    补充:pandas 中的insert(), pop()在DataFrame的指定位置中插入某一列

    在pandas中,del、drop和pop方法都可以用来删除数据,insert可以在指定位置插入数据。

    可以看看以下示例。

    import pandas as pd 
    from pandas import DataFrame, Series
    data = DataFrame({'name':['yang', 'jian', 'yj'], 'age':[23, 34, 22], 'gender':['male', 'male', 'female']})
    #data数据
    '''
    In[182]: data
    Out[182]: 
      age gender name
    0  23  male yang
    1  34  male jian
    2  22 female  yj
    '''
    #删除gender列,不改变原来的data数据,返回删除后的新表data_2。axis为1表示删除列,0表示删除行。inplace为True表示直接对原表修改。
    data_2 = data.drop('gender', axis=1, inplace=False)
    '''
    In[184]: data_2
    Out[184]: 
      age name
    0  23 yang
    1  34 jian
    2  22  yj
    '''
    #改变某一列的位置。如:先删除gender列,然后在原表data中第0列插入被删掉的列。
    data.insert(0, '性别', data.pop('gender'))#pop返回删除的列,插入到第0列,并取新名为'性别'
    '''
    In[185]: data
    Out[186]: 
        性别 age name
    0  male  23 yang
    1  male  34 jian
    2 female  22  yj
    '''
    #直接在原数据上删除列
    del data['性别']
    '''
    In[188]: data
    Out[188]: 
      age name
    0  23 yang
    1  34 jian
    2  22  yj
    '''

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • Pandas DataFrame数据的更改、插入新增的列和行的方法
    • pandas 空的dataframe 插入列名的示例
    • python实现在pandas.DataFrame添加一行
    上一篇:pygame实现键盘和鼠标事件的处理
    下一篇:关于使用python反编译apk签名出包的问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pandas 使用insert插入一列 pandas,使用,insert,插入,一列,