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调用短信猫控件实现发短信功能实例
Jul 04 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
深入理解Django自定义信号(signals)
Oct 15 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
详解Python利用random生成一个列表内的随机数
Aug 21 Python
tensorflow 模型权重导出实例
Jan 24 Python
Python基础之pandas数据合并
Apr 27 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的大小写敏感问题整理
2011/12/29 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
Vuex之理解state的用法实例
2017/04/19 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
python实现点对点聊天程序
2018/07/28 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
详解KMP算法以及python如何实现
2020/09/18 Python
车辆安全检查制度
2014/01/12 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
vue3获取当前路由地址
2022/02/18 Vue.js