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中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
python合并同类型excel表格的方法
Apr 01 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
pip指定python位置安装软件包的方法
Jul 12 Python
基于django ManyToMany 使用的注意事项详解
Aug 09 Python
python实现两个文件夹的同步
Aug 29 Python
python ctypes库2_指定参数类型和返回类型详解
Nov 19 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
Python Pandas解析读写 CSV 文件
Apr 11 Python
python解析照片拍摄时间进行图片整理
Jul 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
PHP5 安装方法
2006/10/09 PHP
PHP 实例化类的一点摘记
2008/03/23 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python在不同层级目录import模块的方法
2016/01/31 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
Python元组知识点总结
2019/02/18 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
领导班子整改方案和个人整改措施
2014/10/25 职场文书
应聘教师自荐信
2015/03/26 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
字节飞书面试promise.all实现示例
2022/06/16 Javascript