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不规范的日期字符串处理类
Jun 10 Python
Python单例模式实例分析
Jan 14 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
利用python求积分的实例
Jul 03 Python
Python参数类型以及常见的坑详解
Jul 08 Python
python requests指定出口ip的例子
Jul 25 Python
python实现打砖块游戏
Feb 25 Python
Python requests模块cookie实例解析
Apr 14 Python
Django REST Swagger实现指定api参数
Jul 07 Python
Python特殊属性property原理及使用方法解析
Oct 09 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
python如何统计代码运行的时长
2019/07/24 Python
python实现多进程通信实例分析
2019/09/01 Python
python环境下安装opencv库的方法
2020/03/05 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
最新自我评价范文
2013/11/16 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
贺卡寄语大全
2014/04/11 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
校庆口号
2014/06/20 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL