DataFrame中面向行和面向列的操作基本上是相同的,把行和列称作轴(axis),DataFrame是按照轴进行操作的,axis=0表示行轴;axis=1 表示列轴。
在操作DataFrame的函数中,通常有沿着轴来进行操作,沿着axis=0,表示对一列(column)的数据进行操作;沿着axis=1,表示对一行(row)的数据进行操作。
axis{0 or ‘index’, 1 or ‘columns’}, default 0
Axis along which the function is applied:
-
0 or ‘index’: apply function to each column.
-
1 or ‘columns’: apply function to each row.
DataFrame对象既有行索引(index),也有列索引(columns),行索引也叫做行标签,列索引也叫做列标签/列名。在DataFrame的构造函数中,columns参数用于设置列索引,index用于设置行索引,都属于Index类型。Index对象既可以使用位置(整数)来表示,也可以使用标签(字符串)来表示,位置的起始值是0,标签是通过列表来指定的。
一,创建数据框
数据框的基础构造函数是DataFrame,从array-like的结构中构造数据框:
参数注释:
- data:ndarray、list 或dict
- index:行索引
- columns:列名列表
通常情况下,我们使用pd.DataFrame()函数来创建数据框,当然也可以根据需要使用pd.DataFrame.from_dict()函数来创建数据框。
通过等长的字典来创建数据框,并可以设置数据框的列名和行索引。字典存储的是每列的数据:
列表项是列表,把该列表转换为DataFrame:
列表项是元组,把该列表转换为DataFrame:
data是一个字典结构,字典的Key是列名,Value是一个列表,通过这种格式创建数据框:
从DataFrame中获取一行或一列,获得的对象是一个序列。
Series可以通过to_frame()函数转换为DataFrame类型,但是之前的列名变成了索引。可以通过T转置把行索引转置成列标签:
二,数据框的属性
数据框的属性主要是索引、列名、数据类型和值,对于一下数据框
通过index属性来访问数据框的行标签,通过columns属性访问数据框的列标签:
查看数据框各列的数据类型
查看数据框中某一列的数据类型:
values属性以数组形式显示数据框的值:
三,轴操作
通过为一个新列赋值来向数据框中追加新列,新列始终处于列名序列的末尾:
要指定新列的位置,需要使用insert()函数,该函数向数据框中插入一列,并制定新列的位置:
参数注释:
- loc:插入列的位置,该位置索引必须0
举个例子,向df的末尾插入一列,列值都是a:
使用drop()函数来删除行或列:
参数注释:
- labels 和 axis:labels参数指定要删除的标签,如果axis=0 或 ‘index’,表示行标签;如果axis=1 或 ‘columns’,表示列标签。axis的默认值是0。
- index:设置index 等价于设置 labels 和axis=0;
- columns:设置columns等价于设置labels和 axis=1;
举个例子,把df的列new删除:
四,列数据类型转换
astype(dtype) 函数用于把数据框的列转换为特定的类型,dtype可以是pandas支持的类型,也可以是numpy.dtype,也可以是Python类型:
把数据框的列改变为字符串类型,str是python类型,’object’是pandas支持的字符串类型:
其他转换类型的函数
使用Pandas提供的函数如to_numeric()、to_datetime()
参考文档:
Original: https://www.cnblogs.com/ljhdo/p/10593914.html
Author: 悦光阴
Title: Pandas 学习 第4篇:DataFrame -(创建、属性、操作列、类型转换)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/560063/
转载文章受原作者版权保护。转载请注明原作者出处!