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使用clear方法清除字典内全部数据实例
Jul 11 Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
python验证身份证信息实例代码
May 06 Python
Python 3.8正式发布重要新功能一览
Oct 17 Python
python ftplib模块使用代码实例
Dec 31 Python
Python3的socket使用方法详解
Feb 18 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 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进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP7 list() 函数修改
2021/03/09 PHP
jQuery ready函数滥用分析
2011/02/16 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
Js注册协议倒计时的小例子
2013/06/24 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
详解JS预解析原理
2020/06/16 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
python实现udp传输图片功能
2020/03/20 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
戴尔英国官网:Dell英国
2017/05/27 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
个人简历自我评价
2014/01/06 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
婚前协议书标准版
2014/10/19 职场文书
旷工辞退通知书
2015/04/17 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
东京审判观后感
2015/06/01 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python
python实现的人脸识别打卡系统
2021/05/08 Python
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python