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

简介: === DataFrame 简介 ===定义:数据帧 (DataFrame) 是二维数据结构,即数据以行和列的表格方式排列。特点:1、 潜在的列是不同的类型2、 大小可变3、 标记轴是行和列 (行、列索引)4、 可以对行和列进行算数运算=...

=== 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')
相关文章
|
3月前
|
存储 数据采集 数据处理
深入探索Pandas的DataFrame:基本用法与案例研究
深入探索Pandas的DataFrame:基本用法与案例研究
|
2月前
|
BI 数据处理 索引
Pandas基本操作:Series和DataFrame(Python)
Pandas基本操作:Series和DataFrame(Python)
114 1
|
3月前
|
机器学习/深度学习 Python
pandas将dataframe列中的list转换为多列
在应用机器学习的过程中,很大一部分工作都是在做数据的处理,一个非常常见的场景就是将一个list序列的特征数据拆成多个单独的特征数据。
51 0
|
3月前
|
人工智能 数据处理 计算机视觉
Pandas数据处理——渐进式学习、DataFrame(函数检索-请使用Ctrl+F搜索)
Pandas数据处理——渐进式学习、DataFrame(函数检索-请使用Ctrl+F搜索)
67 0
|
9天前
|
SQL 数据库 索引
Pandas之DataFrame,快速入门,迅速掌握(三)
Pandas之DataFrame,快速入门,迅速掌握(三)
|
9天前
|
数据采集 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(二)
Pandas之DataFrame,快速入门,迅速掌握(二)
|
6天前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按'Name'和'Age'列排序 DataFrame。先按'Name'排序,再按'Age'排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
14 1
|
6天前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df['C'] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
22 0
|
6天前
|
Python
在Pandas中,利用boolean indexing可按条件过滤DataFrame
【5月更文挑战第2天】在Pandas中,利用boolean indexing可按条件过滤DataFrame。通过&(和)和|(或)操作符可基于多个条件筛选。
16 1
|
9天前
|
编译器 索引 Python
Pandas之DataFrame,快速入门,迅速掌握(一)
Pandas之DataFrame,快速入门,迅速掌握(一)