Python Pandas多种添加行列数据方法总结

 更新时间:2022年07月11日 15:56:53   作者:CHD托马斯  
在进行数据分析时经常需要按照一定条件创建新的数据列,然后进行进一步分析,下面这篇文章主要给大家介绍了关于Python Pandas多种添加行列数据方法的相关资料,需要的朋友可以参考下

前言

发现自己学习python 的各种库老是容易忘记,所有想利用这个平台,记录和分享一下学习时候的知识点,以后也能及时的复习,最近学习pandas,那我们来看看pandas添加数据的一些方法

创建一个dataframe

1. 增加列数据

为dataframe增加一列新数据,需要确保增加列的长度与原数据保持一致

如果是增加一列相同数据可以直接输入

df['level'] = 1

插入的数据是需要通过源数据进行计算的(eval这个方法感觉比较好用)

df.eval('grade_level = grade * level',inplace = True)

使用insert函数可以在指定列添加列数据,这个函数有好几个参数,使用更加灵活

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

增加列数据的方法还有很多,我只把自己比较常用的记录了下来

2. 增加行数据

比较多的方法有 loc 、iloc、append都行,先看loc这个方法,它是通过 df.loc[index名称] = [对应的数据],这个方法要主要index如果是与原表中有重复,则会将原数据修改,如果没有重复的话,就是在最后面添加对应数据,其中的index名称是根据输入的写入,需要注意!

第二个是通过df.iloc[index位置] = [对应数据] 进行修改这个方法是对原有数据进行修改,并不是增加一行数据

使用append()函数添加一行数据,其中ignore_index=True,否则报错

append()往往做法比较多的是添加一个另外一个dataframe的数据到原来数据上,爬虫时候用得比较多,将每一页的数据保存到一个临时的dataframe中,将这个临时的dataframe数据插入到总的dataframe后面,最后得到总的数据,且效率较高

当然还有concat、merge等方法可以达到相同的效果,下次有机会在继续学习

补充:pandas根据现有列新添加一列

pandas中一个Dataframe,经常需要根据其中一列再新建一列,比如一个常见的例子:需要根据分数来确定等级范围,下面我们就来看一下怎么实现。

def getlevel(score):
    if score < 60:
        return "bad"
    elif score < 80:
        return "mid"
    else:
        return "good"


def test():
    data = {'name': ['lili', 'lucy', 'tracy', 'tony', 'mike'],
            'score': [85, 61, 75, 49, 90]
            }
    df = pd.DataFrame(data=data)
    # 两种方式都可以
    # df['level'] = df.apply(lambda x: getlevel(x['score']), axis=1)
    df['level'] = df.apply(lambda x: getlevel(x.score), axis=1)

    print(df)

上面代码运行结果

    name  score level
0   lili     85  good
1   lucy     61   mid
2  tracy     75   mid
3   tony     49   bad
4   mike     90  good

要实现上面的功能,主要是使用到dataframe中的apply方法。

上面的代码,对dataframe新增加一列名为level,level由分数一列而来,如果小于60分为bad,60-80之间为mid,80以上为good。
其中axis=1表示原有dataframe的行不变,列的维数发生改变。

总结

到此这篇关于Python Pandas多种添加行列数据方法的文章就介绍到这了,更多相关Pandas添加行列数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python如何识别银行卡卡号?

    Python如何识别银行卡卡号?

    今天给大家带来的是有关Python的相关知识,文章围绕着Python如何识别银行卡卡号展开,文中有非常详细的代码示例及介绍,需要的朋友可以参考下
    2021-06-06
  • Python中Functools模块的高级操作详解

    Python中Functools模块的高级操作详解

    functools模块是Python标准库中的一个宝库,提供了一些有用的功能,可以帮助您更好地利用函数的潜力,下面小编就来为大家介绍一下functools模块的相关具体使用吧
    2023-11-11
  • OpenCV实战之图像拼接的示例代码

    OpenCV实战之图像拼接的示例代码

    图像拼接可以应用到手机中的全景拍摄,也就是将多张图片根据关联信息拼成一张图片。本文将介绍利用Python OpenCV实现图像拼接的方法,感兴趣的可以试一试
    2022-01-01
  • Python实现基于PIL和tesseract的验证码识别功能示例

    Python实现基于PIL和tesseract的验证码识别功能示例

    这篇文章主要介绍了Python实现基于PIL和tesseract的验证码识别功能,结合实例形式分析了Python使用PIL与tesseract进行验证码识别操作的具体技巧与相关注意事项,需要的朋友可以参考下
    2018-07-07
  • Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例

    Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例

    这篇文章主要介绍了Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作,结合实例形式分析了Python使用split()及正则表达式进行字符串拆分操作相关实现技巧,需要的朋友可以参考下
    2018-04-04
  • Python 关于模块和加载模块的实现

    Python 关于模块和加载模块的实现

    这篇文章主要介绍了Python 关于模块和加载模块的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python+opencv实现动态物体识别

    python+opencv实现动态物体识别

    这篇文章主要为大家详细介绍了python+opencv实现动态物体识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 基于深度学习和OpenCV实现目标检测

    基于深度学习和OpenCV实现目标检测

    这篇文章主要介绍了通过使用OpenCV进行基于深度学习的对象检测以及使用OpenCV检测视频,文中的示例代码讲解详细,需要的可以参考一下
    2021-12-12
  • Python 避免字典和元组的多重嵌套问题

    Python 避免字典和元组的多重嵌套问题

    这篇文章主要介绍了Python 避免字典和元组的多重嵌套,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python利用正则表达式从字符串提取数字

    Python利用正则表达式从字符串提取数字

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,下面这篇文章主要给大家介绍了关于Python利用正则表达式从字符串提取数字的相关资料,需要的朋友可以参考下
    2022-02-02

最新评论