Pandas DataFrame数据的更改、插入新增的列和行的方法


Posted in Python onJune 25, 2019

一、更改DataFrame的某些值

1、更改DataFrame中的数据,原理是将这部分数据提取出来,重新赋值为新的数据。

2、需要注意的是,数据更改直接针对DataFrame原数据更改,操作无法撤销,如果做出更改,需要对更改条件做确认或对数据进行备份。

代码:

import pandas as pd
df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age'])

print("--------更换单个值----------")
# loc和iloc 可以更换单行、单列、多行、多列的值
df1.loc[0,'age']=25   # 思路:先用loc找到要更改的值,再用赋值(=)的方法实现更换值
df1.iloc[0,2]=25     # iloc:用索引位置来查找

# at 、iat只能更换单个值
df1.at[0,'age']=25   # iat 用来取某个单值,参数只能用数字索引
df1.iat[0,2]=25     # at 用来取某个单值,参数只能用index和columns索引名称
print(df1)

结果图:

Pandas DataFrame数据的更改、插入新增的列和行的方法

二、插入新增列、行

代码:

import pandas as pd

df1 = pd.DataFrame([['Snow','M',22],['Tyrion','M',32],['Sansa','F',18],['Arya','F',14]], columns=['name','gender','age'])

print("----------在最后新增一列---------------")
print("-------案例1----------")
# 在数据框最后加上score一列,元素值分别为:80,98,67,90
df1['score']=[80,98,67,90]  # 增加列的元素个数要跟原数据列的个数一样
print(df1)

print("-------案例2----------")
print("---------在指定位置新增列:用insert()--------")
# 在gender后面加一列城市
# 在具体某个位置插入一列可以用insert的方法
# 语法格式:列表.insert(index, obj)
# index --->对象 obj 需要插入的索引位置。
# obj ---> 要插入列表中的对象(列名)

col_name=df1.columns.tolist()          # 将数据框的列名全部提取出来存放在列表里
print(col_name)

col_name.insert(2,'city')           # 在列索引为2的位置插入一列,列名为:city,刚插入时不会有值,整列都是NaN
df1=df1.reindex(columns=col_name)       # DataFrame.reindex() 对原行/列索引重新构建索引值

df1['city']=['北京','山西','湖北','澳门']  # 给city列赋值
print(df1)

print("----------新增行---------------")
# 重要!!先创建一个DataFrame,用来增加进数据框的最后一行
new=pd.DataFrame({'name':'lisa',
         'gender':'F',
         'city':'北京',
         'age':19,
         'score':100},
         index=[1])  # 自定义索引为:1 ,这里也可以不设置index
print(new)

print("-------在原数据框df1最后一行新增一行,用append方法------------")
df1=df1.append(new,ignore_index=True)  # ignore_index=True,表示不按原来的索引,从0开始自动递增
print(df1)

结果图:

Pandas DataFrame数据的更改、插入新增的列和行的方法

Pandas DataFrame数据的更改、插入新增的列和行的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中optionParser模块的使用方法实例教程
Aug 29 Python
python直接访问私有属性的简单方法
Jul 25 Python
python导入时小括号大作用
Jan 10 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
python 自动批量打开网页的示例
Feb 21 Python
python通过实例讲解反射机制
Oct 17 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
浅谈Python 参数与变量
Jun 20 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 #Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 #Python
Pandas之Fillna填充缺失数据的方法
Jun 25 #Python
PYQT5实现控制台显示功能的方法
Jun 25 #Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 #Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 #Python
Pandas之ReIndex重新索引的实现
Jun 25 #Python
You might like
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
基于Vue单文件组件详解
2017/09/15 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
js实现电灯开关效果
2021/01/19 Javascript
django 信号调度机制详解
2019/07/19 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
保荐人的岗位职责
2013/11/19 职场文书
保密工作目标责任书
2014/07/28 职场文书
学习十八大的心得体会
2014/09/01 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
年度考核表个人总结
2015/03/06 职场文书
单位综合评价意见
2015/06/05 职场文书
新郎婚礼致辞
2015/07/27 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
JS + HTML 罗盘式时钟的实现
2021/05/21 Javascript
python中的random模块和相关函数详解
2022/04/22 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python