吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2566|回复: 16
收起左侧

[Python 转载] 【笔记】python数据分析——pandas之增删查改

[复制链接]
qianshang666 发表于 2021-3-13 23:53

往期数据分析笔记

【笔记】python数据分析——numpy初识1
【笔记】python数据分析——numpy初识2
【笔记】python数据分析——变换与编程中的轴
【笔记】python数据分析——numpy随机数函数
【笔记】python数据分析——numpy数组索引及切片
【笔记】python数据分析——元素级运算及通用函数
【笔记】python数据分析——条件逻辑运算
【笔记】python数据分析——统计学运算
【笔记】python数据分析——矩阵相乘
【笔记】python数据分析——应用案例之图像负片
【笔记】python数据分析——pandas初识

pandas的增删查改

增加数据(append)

  • Series增加数据

    from pandas import Series,DataFrame
    obj = Series([1,2,3,4],index = ['a','b','c','d'])
    append_data = Series([5,6],index = ['e','f'])
    obj2 = obj.append(append_data)
    print(obj2)

    运行结果:
    a    1
    b    2
    c    3
    d    4
    e    5
    f    6
    dtype: int64

  • DataFrame增加数据

    data={
    'name':['张三','李四','王五'],
    'age':[30,40,10]
    }
    obj=DataFrame(data)
    print(obj)
    new_data={'name':'赵六','age':10}
    obj2=obj.append(new_data,ignore_index=True)
    print(obj2)

    运行结果:
    name  age
    0   张三   30
    1   李四   40
    2   王五   10
    3   赵六   10
    注意:DataFrame添加数据需要添加ignore_index,自动加一个索引,不然的话会缺少索引

删除数据(drop)

  • Series删除数据
    obj = Series([1,2,3,4],index = ['a','b','c','d'])
    obj2 = obj.drop('a')
    print(obj2)

    运行结果:
    b    2
    c    3
    d    4
    dtype: int64

  • DataFrame删除数据
    删除行
    obj3=obj2.drop(3)
    print(obj3)

    运行结果:
    name  age
    0   张三   30
    1   李四   40
    2   王五   10
    删除列

    obj3=obj2.drop('name',axis=1)
    print(obj3)

    运行结果:
    age
    0   30
    1   40
    2   10
    3   10
    这里我们使用了我们之前讲过的轴的概念,0轴是行,1轴是列,上面代码的意思就是删除name那一列

查询数据(loc)

  • Series查询数据
    obj=Series([1,2,3,4],index=['a','b','c','d'])
    print(obj)
    print(obj['a':'c']) 

    运行结果:
    a    1
    b    2
    c    3
    dtype: int64
    注意:按照我们之前学python原生列表,a-c的话取到的只能到b,但是pandas不同,它是可以取到最后一个的

  • DataFrame查询数据
    查询列
    print(obj['name'])
    print(obj[['name','age']])

    运行结果:
    0    张三
    1    李四
    2    王五
    Name: name, dtype: object
    name  age
    0   张三   30
    1   李四   40
    2   王五   10
    DataFrame数据选列直接把列名放进去,多列的话就是用多重列表
    查询行

    print(obj.loc[1])
    print(obj.loc[[0,1]])

    运行结果:
    name    李四
    age     40
    Name: 1, dtype: object
    name  age
    0   张三   30
    1   李四   40
    选取行,就是第0行,第1行,多行的话依然使用多重列表

修改数据(rename)

  • Series修改数据
    obj = Series([1,2,3,4],index = ['a','b','c','d'])
    obj['a'] = 10
    print(obj)

    运行结果:
    a    10
    b     2
    c     3
    d     4
    dtype: int64

  • DataFrame修改数据
    obj4=obj2.rename(columns={'name':'Name'},index={0:9,1:3})
    print(obj4)

    运行结果:
    Name  age
    9   张三   30
    3   李四   40
    2   王五   10
    3   赵六   10
    修改,没办法修改表格的数据,只是修改行名列名
    修改列的话,就直接用index索引就可以,行的0改为9,1改为3

今日鸡汤

真实的人生本就琐碎,如何去桥接,过渡,贯穿,这个就要看你的咯!

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
用户名:用户名 + 1 + 1 我很赞同!
woshicp + 1 + 1 我很赞同!
s785093878 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| qianshang666 发表于 2021-3-14 00:16
fyop 发表于 2021-3-14 00:14
新手前来学习,持续关注

感兴趣的话可以从头开始看,有不懂得可以在帖子下面问我,我绝对尽我最大的努力解答
KunGe. 发表于 2021-3-13 23:59
15633738398 发表于 2021-3-14 00:02
jianfeng 发表于 2021-3-14 00:04
学习了,本人就是程序员,特来学习
almo 发表于 2021-3-14 00:08
总结得很好,学习了
 楼主| qianshang666 发表于 2021-3-14 00:11
KunGe. 发表于 2021-3-13 23:59
对新手有大用!

这个笔记挺适合零基础的同学的
fyop 发表于 2021-3-14 00:14
新手前来学习,持续关注
lookatnext 发表于 2021-3-14 06:33
谢谢分享,非常有用,再次感谢!
zhtzzx 发表于 2021-3-14 06:53
收藏一下,学习有用哦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表