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使用psutil模块获取系统状态
Aug 27 Python
python正则表达式的使用
Jun 12 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
python range()函数取反序遍历sequence的方法
Jun 25 Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
Ubuntu+python将nii图像保存成png格式
Jul 18 Python
Python如何使用函数做字典的值
Nov 30 Python
python 实现dict转json并保存文件
Dec 05 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 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
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
用jquery来定位
2007/02/20 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
旅游管理本科生求职信
2013/10/14 职场文书
专业销售业务员求职信
2013/11/18 职场文书
技术经理的自我评价范文
2013/12/03 职场文书
节水倡议书范文
2014/04/15 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
水知道答案观后感
2015/06/08 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL
APP界面设计技巧和注意事项
2022/04/29 杂记