Python数据分析--Pandas入门--DataFrame的增删改查操作_扁舟钓雪的博客-程序员宅基地_dataframe增删改查

技术标签: pandas  python  Python 数据分析基础与进阶  

DataFrame的增删改操作

DataFrame的增加操作

为DataFrame增加一列相同的内容

df[‘新列名’]=‘数据’

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df)
#为df增加一列;内容全部一致
df['所属']='python'
print(df)

结果展示

在这里插入图片描述

为DataFrame增加一列不同的内容

df[‘新列名’]=[‘数据’,‘数据’,…]

代码展示

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df)
#为df增加一列;内容全部一致
df['所属']='python'
print(df)

# 增加一列,内容不一致,  【需要和行的长度一致】
df["平时成绩"] = [90, 89, 88, 92]
df["考试成绩"] = [60, 40, 20, 0]


# 增加一列 根据已有内容进行增加
df["名字"] = df["姓名"].str[1:]
# 总成绩  根据已有内容进行增加
df["总成绩"] = df["平时成绩"]*0.3 + df["考试成绩"]*0.7
print(df)

结果展示

在这里插入图片描述

DataFrame的修改操作

先筛选出来 在进行修改

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df,'\n')
#选出所有性别为男的同学 并将性别改为女
mask=df['性别']=='男'

print(mask,'\n')
df.loc[mask,'性别']='女'
print(df)

结果展示

在这里插入图片描述

DataFrame的删除操作

删除需要借助drop进行

df.drop()

删除一列

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df,'\n')
df1=df.drop(columns='职业')
#df.drop(columns='职业',inplace=True)# inplace支持在原df上操作 
print(df1)

结果展示

在这里插入图片描述

删除多列

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df,'\n')
df.drop(columns=['职业','年龄'],inplace=True)
print(df)

结果展示

在这里插入图片描述

删除一行

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df,'\n')
df.drop(index='stu3',inplace=True)
print(df)

结果展示

在这里插入图片描述

删除多行

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)

print(df,'\n')
df.drop(index=['stu3','stu1'],inplace=True)
print(df)

结果展示

在这里插入图片描述

DataFrame的查看操作

查看操作

代码实现

import pandas as pd
index1 = ["stu1", "stu2", "stu3", "stu4"]
columns1 = ["姓名", "年龄", "性别", "职业"]
data1 = [['李A', 18, '男', '数据分析'],
         ['王B', 19, '男', '机器学习'],
         ['赵C', 20, '女', "深度学习"],
         ['刘D', 19, '男', "搬砖"],
         ]

df = pd.DataFrame(index=index1, columns=columns1, data=data1)
df["平时成绩"] = [90, 50, 70, 32]
print(df,'\n')
#查看平时成绩及格的人
mask=df['平时成绩']>=60
df1=df.loc[mask,:]
print(df1)

代码实现

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43944517/article/details/119844476

智能推荐

一个基于MFC的QQ机器人框架_weixin_30556161的博客-程序员宅基地

GitHub项目地址:https://github.com/HarmoniaLeo/MFC-QQbot0x00 这是什么?欢迎使用本QQ机器人开发框架(如果有人会用的话)。本框架是主要使用MFC中的Windows API制作而成、利用Windows的消息机制以及一些系统级底层架构实现利用TIM客户端自动收发QQ消息的QQ机器人框架,用其制作的QQ机器人程序已在VS201...

GC策略_weixin_33985507的博客-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ...

java动态规划算法_南风知易✓✓✓的博客-程序员宅基地

java 动态规划算法递归算法的时间复杂度=递归的次数递归函数本身的时间复杂度*

典型电路的收集与记录__Jason^_^的博客-程序员宅基地

5V to 3V3通过AMS1117-3.3,将电压降至3V3,钽电容是必须的。蜂鸣器电路通过ss8050的NPN三极管实现对蜂鸣器的控制LED电路通过限流电阻对LED的电流和亮度进行控制。但每种颜色所配合的电阻还需实验,达到LED能亮同时又不晃眼睛的效果。...

Spinner的两种调用数据放式_faith_boys的博客-程序员宅基地

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, mLmtdReptStr);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);mSpinner.setAd

ROS arbotix踩坑:‘rospkg‘、except UnicodeDecodeError, exc、dynamic module does not define init function_#君君#的博客-程序员宅基地_ros 安装rospkg

在执行roslaunch mbot_description arbotix_mbot_with_camera_xacro.launch文件时,即包含arbotix模块的程序时,报错No module named ‘rospkg’ 。报错No module named 'rospkg'经过对大家文章的查看,发现基本集中在把环境配置为python3.或者安装rospkg。但是仍没有解决。查看opt/ros/melodic/lib/python2.7/dist-packages,发现根本没有ro.

随便推点

abaqus帮助文档翻译,中英对照_cewszx的博客-程序员宅基地_abaqus中文帮助文档

abaqus2016在线帮助文档因为比较简洁,打开响应速度较快,相对于需要注册的高版本帮助文档算是一大优点。但文档内容对于英文水平一般的同学不太友好,为了提高阅读效率隧寻找网页翻译的方法。1.浏览器右键的网页翻译,实测无效。2.大名鼎鼎的彩云小译扩展,实测无效。3.百度网页翻译扩展,实测无效。4.几个油猴网页翻译脚本,都实测无效:最后的解决办法:同样通过脚本的方式,依据该网页的框架划分翻译区域,从而实现理想的翻译效果。效果图:中英对照,对某些翻译不准确之处可以看原文,

企业运维——从基础做起 机房的建设规划_weixin_33688840的博客-程序员宅基地

要写这篇文章之前,其实自己已经准备了很多。但是和国外的技术标准一对比。我还是不献丑了…… 这篇文章主要是各种机房建设标准的汇总索引,没什么实质性的内容,只是希望引导大家对标准化机房建设有个初步的概念,了解一下国内外的差距。 真正想向机房设计方向发展的IT人员,建议仔细看一下Facebook的开源服务器和数据中心核心技术(The Open Compu...

nginx x-sendfile下载_anjile1234567890的博客-程序员宅基地

    // 利用nginx直接下载文件,提高效率    public function download_apk_efficient($internal_file_path,$file_name){        // And redirect user to internal location        header("Content-Type: application/vn...

聊聊身份认证的那些事(开篇)_罗斯839的博客-程序员宅基地_cas流程

开篇身份认证,对于一个安全的应用来说,是第一道门槛,它为后续所有的安全措施提供了“身份”这样一个关键信息。通常每个公司会有好几个外部应用,如果每一个应用使用独立的账号体系,管理起来会非常复杂,用户也需要保存好几个账号密码,严重影响使用体验。而且公司内部的各个管理或开发系统,比如各种服务器、confluence、jira、gitlab等也都使用单独的账号,一个开发人员要记住各种纷繁杂乱的账号和密码,如果不提前保存下来,根本不可能能靠记忆完成输入。这时,如何设计一个简单易用的身份认证体系就显得尤为重要

Vscode的使用小技巧_weixin_30399821的博客-程序员宅基地

命令行启动code如果你的系统是Linux系统(我使用的是Ubuntu 16.04)这样就可以直接使用 code + filename来编辑文件(就像vi + filename)如果你的系统是MacOS 就需要在vscode里面按 command + shift + p 之后输入 shell 基本上在第一提示里面就会显示安装code,如图所示转载于:https://www.cnblo...

SpringMVC -> 转发(forward)和重定向(redirect)_欧皇小德子的博客-程序员宅基地_springmvc转发的关键字是redirect

默认写法就是转发:return的字符串将对应的前端页面转发到要求的url上配置了视图解析器的viewsresolver @RequestMapping("/hello/{a}/{b}") public String hello(@PathVariable int a, @PathVariable int b, Model model) { model.addAttribute("haha", "结果:" + (a + b)); return "hello"; }没有视图解析器