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 用户登录验证的小例子
Mar 06 Python
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python3使用requests发闪存的方法
May 11 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
Django框架实现逆向解析url的方法
Jul 04 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
python编写计算器功能
Oct 25 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
Feb 07 Python
通过实例简单了解python yield使用方法
Aug 06 Python
如何通过安装HomeBrew来安装Python3
Dec 23 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 文本文件的读取效率
2012/02/10 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
php中chdir()函数用法实例
2014/11/13 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
javascript版2048小游戏
2015/03/18 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
js实现简单贪吃蛇游戏
2020/05/15 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
python编写Logistic逻辑回归
2020/12/30 Python
python中kmeans聚类实现代码
2018/02/23 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
中学生个人自我评价
2014/02/06 职场文书
学校万圣节活动方案
2014/02/13 职场文书
承诺书怎么写
2014/03/26 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
告知书格式
2015/07/01 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Python实现单例模式的5种方法
2021/06/15 Python
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers