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 基础学习教程
Feb 08 Python
Eclipse + Python 的安装与配置流程
Mar 05 Python
python中元类用法实例
Oct 10 Python
在Python中编写数据库模块的教程
Apr 29 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python中常见的异常总结
Feb 20 Python
Python实现ping指定IP的示例
Jun 04 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
Django REST framework 视图和路由详解
Jul 19 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 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/15 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
用JavaScript隐藏控件的方法
2009/09/21 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
商超业务员岗位职责
2014/03/12 职场文书
梅花魂教学反思
2014/04/25 职场文书
军训结束新闻稿
2015/07/17 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL