04 pandas DataFrame_创建、文件读取、编码
=== DataFrame 简介 ===
定义:数据帧 (DataFrame) 是二维数据结构,即数据以行和列的表格方式排列。
特点:
1、 潜在的列是不同的类型
2、 大小可变
3、 标记轴是行和列 (行、列索引)
4、 可以对行和列进行算数运算
=== 创建DataFrame ===
将多个Series合并到一起,形成DataFrame
1、使用列表创建[]
Tom_dict = {'语文':90,'数学':88,'英语':78} Jerry_dict = {'语文':89,'数学':73,'英语':92} Tom = pd.Series(Tom_dict,name='Tom的成绩') Jerry = pd.Series(Jerry_dict,name='Jerry的成绩') Tom.index.name='科目' Jerry.index.name='科目' # 用DataFrame合并Series # pd.DataFrame(data,index) # 如果Series表示的是一个人的一行数据,那么生成DataFrame的时候使用[] pd.DataFrame([Tom,Jerry])
2、使用字典创建{}
Chinese = pd.Series([88,78,90],index=['Tom','Jerry','Doge']) Maths = pd.Series([80,92,86],index=['Tom','Jerry','Doge']) # 如果Series表示的是一列数据,那么使用{} stu_info = pd.DataFrame({"语文":Chinese,"数学":Maths}) stu_info.columns.name = '科目' stu_info
pd.DataFrame({"M":[1,2,3],"N":[4,5,6]},index=list("abc"))
3、 使用数组创建 column行索引,index列索引
pd.DataFrame(np.random.randint(0,9,[3,3]),columns=list("abc"),index=list("ABC"))
=== 从文件里获取数据 ===
Excel文件
1、sheet_name 表格的小表名
stu_info = pd.read_excel('student_info1.xlsx',sheetname='countif').head(2) stu_info.columns.name='学科' stu_info
2、 把哪一列当作行索引 index_col
stu_info = pd.read_excel('student_info1.xlsx',sheetname='countif',index_col=0).head(2) stu_info.columns.name='学科' stu_info
3、 set_index("列名") 更改某一列为行索引
stu_info.set_index='学号' stu_info
4、 reset_index(drop=True) 重置行索引,并把行索引转换为数据列
drop=True 不想要学号,即把行索引数据删除
stu_info.reset_index(drop=True)
csv文件
1、读取csv文件
stu_info = pd.read_csv('student_info1.csv') stu_info
2、 从第I行开始作为列索引
header=None或数字
NONE 说明文件里面没有设置列索引,不把第一行当索引了
0,1 行当索引。默认是第0行
stu_info = pd.read_csv('student_info1.csv',header=1) stu_info
3、 加列索引
stu_info = pd.read_csv('student_info1.csv',header=1,names=['语文','数学','英语']) stu_info
4、编码 、解析引擎
encoding 编码 默认utf-8 Windows新建文件,gb2312,gbk
engine 解析引擎 c比较快 python支撑更多方法
stu_info = pd.read_csv('student_info1.csv',encoding='utf-8',engine='python')
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
javascript中的this使用场景以及箭头函数中的this
this总是指向一个对象,有时指向全局对象,有时指向构造对象,有时指向DOM对象 1. 作为对象的方法调用 做为对象的方法调用时this指向对象本生 2. 作为普通函数被调用 普通函数里的this总是指向全局变量 对象的方法复制给变量,在通过变量来调用后对象的方法变成了普通函数 观看这个例子发现: getName1 = Person.getName 是把getName1指向Person.getName方法的内存地址(方法本身没有被执行),其本质是个函数,所以在使用getName1() 时就是调用普通函数 getName2 = Person.getName() 是把Person.getName的返回值(已经执行了)bingxl赋值给getName2 对两个变量经行typeof操作 3. DOM事件触发函数里的this DOM事件触发函数里的this指向DOM节点本身 test() 是一个普通函数,所以test里的this指向了全局对象window 4. 构造器调用 使用new运算符调用构造函数时会返回一个对象,构造函数里的this一般就指向返回的对象 当构造函数使用return显式的返回...
- 下一篇
call、apply、bind方法的实现
先分析下3个方法的作用 改变this的指向。 传入参数。 call apply返回函数结果, bind 返回新函数 一、call方法的实现 改变this指向 首先我们知道,对象上的方法,在调用时,this是指向对象的。 知道了这一点我们就可以实现改变this的指向 测试 现在,改变this的值,实现了 最简单实现es6 二、apply方法的实现 其实apply和call差不多,没什么大区别 利用已经写好的myCall来实现 不用myCall 测试 效果没区别 三、bind方法的实现(利用call方法实现) 首先我们可以通过给目标函数指定作用域来简单实现bind()方法: 考虑到函数柯里化的情况,我们可以构建一个更加健壮的bind(): 这次的bind()方法可以绑定对象,也支持在绑定的时候传参。 继续,Javascript的函数还可以作为构造函数,那么绑定后的函数用这种方式调用时,情况就比较微妙了,需要涉及到原型链的传递: 这是《JavaScript Web Application》一书中对bind()的实现:通过设置一个中转构造函数F,使绑定后的函数与调用bind()的函数处于同一原...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装