您现在的位置是:首页 > 文章详情

04 pandas DataFrame_创建、文件读取、编码

日期:2018-09-15点击:425

=== 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]) 
img_b9da21bb37e373b7e85199e5caa6ba96.png

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 
img_b2234c806bd700afc73b39e6bb7f6201.png
pd.DataFrame({"M":[1,2,3],"N":[4,5,6]},index=list("abc")) 
img_51c14fd5a73530cc8cea8fc6727fc45d.png

3、 使用数组创建 column行索引,index列索引

pd.DataFrame(np.random.randint(0,9,[3,3]),columns=list("abc"),index=list("ABC")) 
img_1714a6b1676c8970e6268e517ccb6e96.png

=== 从文件里获取数据 ===

Excel文件

img_1c94c4c4c21664ec12fff200c51b4e1d.png
excel_countif

1、sheet_name 表格的小表名

stu_info = pd.read_excel('student_info1.xlsx',sheetname='countif').head(2) stu_info.columns.name='学科' stu_info 
img_578d507e90a41fabc1847273ff0079c2.png

2、 把哪一列当作行索引 index_col

stu_info = pd.read_excel('student_info1.xlsx',sheetname='countif',index_col=0).head(2) stu_info.columns.name='学科' stu_info 
img_ecb132ba27d456cdc103f2f0af6c7e43.png

3、 set_index("列名") 更改某一列为行索引

stu_info.set_index='学号' stu_info 

4、 reset_index(drop=True) 重置行索引,并把行索引转换为数据列
drop=True 不想要学号,即把行索引数据删除

stu_info.reset_index(drop=True) 
img_bf46b19aa9396adf31a343d1df1bf9cf.png

csv文件

img_04807004dc48f2d21d541ba0b2832f7c.png
csv文件可以用写字板打开

1、读取csv文件

stu_info = pd.read_csv('student_info1.csv') stu_info 
img_5f4dd5f8477076c457169ca59eb2c65b.png

2、 从第I行开始作为列索引
header=None或数字
NONE 说明文件里面没有设置列索引,不把第一行当索引了
0,1 行当索引。默认是第0行

stu_info = pd.read_csv('student_info1.csv',header=1) stu_info 
img_3143a8d670f70a41f1f7d1061012eb58.png

3、 加列索引

stu_info = pd.read_csv('student_info1.csv',header=1,names=['语文','数学','英语']) stu_info 
img_b22c3ba63a433641a0fbe0589f001c6e.png

4、编码 、解析引擎
encoding 编码 默认utf-8 Windows新建文件,gb2312,gbk
engine 解析引擎 c比较快 python支撑更多方法

stu_info = pd.read_csv('student_info1.csv',encoding='utf-8',engine='python') 
原文链接:https://yq.aliyun.com/articles/650901
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章