Python中快速掌握Data Frame的常用操作


Posted in Python onMarch 31, 2021

掌握Data Frame的常用操作

一. 查看DataFrame的常用属性

DataFrame基础属性有:values(元素)、index(索引)、columns(列名) 、dtypes(类型)、size(元素个数)、ndim(维度数)和 shape(形状大小尺寸),还有使用T属性 进行转置

import pandas as pd
detail=pd.read_excel('E:\data\meal_order_detail.xlsx') #读取数据,使用read_excel 函数调用
# print(detail)
print("索引",detail.index)
print("所以 值 :",detail.values)
print("所以列名:",detail.columns)
print("数据类型:",detail.dtypes)
print("元素个数:",detail.size)
print("维度:",detail.ndim)
print("形状大小 尺寸:",detail.shape)
#使用T属性 进行转置
print("转置前的形状:",detail.shape)数据
print("转置后的形状:",detail.T.shape)

二. 查改增删DataFrame数据

查看访问DataFramezhon'的数据
(1.1)DataFrame数据的基本查看方式

#使用字典访问方式
order_id=detail['order_id']
print("订单详情表的order_id的形状:",order_id.shape)
#使用访问属性的方式 
dishes_name=detail.dishes_name
print("订单详情表中的dishes_name的形状:",dishes_name.shape)
#DataFrame 单列多行的数据获取
dishes_name5=detail['dishes_name'][:5]
print(dishes_name5)
#多列多行数据
orderDish=detail[['order_id','dishes_name']][:5]
print(orderDish)
#访问多行数据
order5=detail[:][1:6]
print("订单详情表中的1~6行元素的数据:\n",order5)

#使用DataFrame的head和tail方法获取多行数据
print('订单详情表中前5行数据:\n',detail.head())#head()里面没有参数的话,默认为5行
print('订单详情表中后5行数据:\n',detail.tail()) #tail()里面没有参数的话,默认为5行

(1.2) .DataFrame的loc和iloc访问方式;

dishes_name1=detail.loc[:,'dishes_name'] #DataFrame.loc[行索引名称或条件,列索引名称]
print("使用loc提取dishes_name列的size:",dishes_name1.size)
dishes_name2=detail.iloc[:,3] #DataFrame.iloc[行索引位置,列索引位置]
print("使用iloc提取第3列的size:",dishes_name2.size)

#使用loc、iloc 实现多列切片
orderDish1=detail.loc[:,['order_id','dishes_name']]
print(orderDish1.size)
orderDish2=detail.iloc[:,[1,3]]
print(orderDish2.size)
#使用loc、iloc 实现花式切片
print("列名为order_id和dishes_name 的行名为3的数据:\n",detail.loc[3,['order_id','dishes_name']])
print('列名为order_id和dishes_name 行名为2、3、4、5、6的数据为:\n',detail.loc[2:6,['order_id','dishes_name']])
print('列名1和3,行位置为3的数据为:\n',detail.iloc[3,[1,3]]) #这里为什么不可以loc函数,
               #因为loc函数传入的是列索引的名称(或行的名称或条件),而iloc传入的是位置
print('列位置为1和3,行位置为2,3,4,5,6的数据和:\n',detail.iloc[2:7,[1,3]])#这里是位置索引,7是取不到的
#使用loc和iloc函数实现条件切片
print('detail中order_id为458的dishes_name为:\n',detail.loc[detail['order_id']==458,['order_id','dishes_name']]) #使用了loc
print("detail中order_id为458 的第1、5列的数据为:\n",detail.iloc[(detail['order_id']==458).values,[1,5]])#values 获取元素 #使用iloc函数

(1.3).ix切片方法

#使用loc、iloc、ix 实现切片 比较(DataFrame.ix[行的索引或位置或条件,列索引名称和位置])
print('列名为dishes_name行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,['dishes_name']])
print('列位置为5行名为2~6的数据为:\n',detail.iloc[2:6,5])
print('列位置为5行名为2~6的数据为:\n',detail.ix[2:6,5])

2.更改DataFame中的数据

#将order_id为458 的改成 45800
detail.loc[detail['order_id']==458,'order_id'] = 45800 #45800 这里 没有单引号的
print('更改后detail中的order_id为 458 的:\n',detail.loc[detail['order_id']==458,'order_id'])
print('更改后detail中的order_id为 45800 的:\n',detail.loc[detail['order_id']==45800,'order_id'])
detail.loc[detail['order_id']==45800,'order_id'] = 458

3.为DataFrame增添数据

#新增一列非定值
detail['payment']=detail['counts']*detail['amounts']
print('detail新增列payment的前5行数据为:\n',detail['payment'].head())
#新增一列定值
detail['pay_way']='现金支付'
print('detail新增列的前5行的数据为:\n',detail['pay_way'].head())
``4.删除某行或某列的数据(drop)
#删除某列
print('删除pay_way前 detail中的列索引为:\n',detail.columns)
detail.drop(labels='pay_way',axis=1,inplace=True)
print('删除pay_way后 detail中的列索引为:\n',detail.columns)
#删除某几行
print('删除1~10行 前 detail的长度:',len(detail))
detail.drop(labels=range(1,11),axis=0,inplace=True)
print('删除1~10行 后 detail的长度:',len(detail))

三. 描述分析DataFrame数据

1.数值特征的描述性统计
describe()函数描述性统计
2.类别类特征的描述性统计
object类型,categroy类型

到此这篇关于Python中快速掌握Data Frame的常用操作的文章就介绍到这了,更多相关Python Data Frame的常用操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python实现把数字转换成中文
Jun 29 Python
Python迭代器定义与简单用法分析
Apr 30 Python
Win10下python3.5和python2.7环境变量配置教程
Sep 18 Python
python2.7和NLTK安装详细教程
Sep 19 Python
python Opencv计算图像相似度过程解析
Dec 03 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
python中count函数简单的实例讲解
Feb 06 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
pycharm无法导入lxml的解决办法
python某漫画app逆向
python爬虫--selenium模块
Mar 31 #Python
【超详细】八大排序算法的各项比较以及各自特点
pandas 操作 Excel操作总结
Mar 31 #Python
字典算法实现及操作 --python(实用)
如何利用python和DOS获取wifi密码
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
php图片添加水印例子
2016/07/20 PHP
python进程与线程小结实例分析
2018/11/11 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
angular多语言配置详解
2019/05/16 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
python中异常捕获方法详解
2017/03/03 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
QML实现钟表效果
2020/06/02 Python
容易被忽略的Python内置类型
2020/09/03 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
港澳通行证委托书怎么写
2014/08/02 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
市级三好生竞选稿
2015/11/21 职场文书