DataFrame的属性,与Series非常相似。
DataFrame的3种常用属性如下:
-
dtypes
-
values
-
index
即:

DataFrame的3种常用属性:
|-------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| dtypes 我们知道,DataFrame对象有多列数据,数据类型也是:字符串型、整型、浮点型、布尔型。 我们访问DataFrame对象的dtypes属性,会返回DataFrame对象每一列的数据类型。 | 在 Pandas 中,dtype(数据类型)用于描述 Series 或 DataFrame 中数据的类型。Object 在 dtype 中表示该列或 Series 中的数据类型是通用的 Python 对象。这通常意味着该列可以包含各种不同的数据类型(例如字符串、数字、列表、甚至其他自定义对象)。 |
| 示例: 我们通过访问DataFrame对象的dtypes属性,返回了变量df的****每一列数据的数据类型 ,将其输出。 根据输出可以看到,变量df的'rank'和'GDP'两列的数据类型都为整型。 | import pandas as pd # 定义一个字典和一个列表 data = {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city = ['GD','JS','SD','ZJ'] # 使用DataFrame构造函数,传入参数:字典data作为values和columns,列表city作为index # 构造出的DataFrame赋值给df df = pd.DataFrame(data, index=city) # 用print输出变量df的每一列数据的数据类型 print( df.dtypes ) |
DataFrame一般有多列数据,所以返回DataFrame对象的数据类型的后缀:.dtypes
|----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| values 我们访问DataFrame对象的values属性,会以数组的形式返回DataFrame对象的值values。 | |
| 示例中: 我们通过访问DataFrame对象的values属性,返回了变量df的值values,并将其输出。 根据输出可以看到,以数组的形式返回了变量df的值values。 注意: DataFrame是二维的数据结构,所以返回二维数组。 | import pandas as pd # 定义一个字典和一个列表 data = {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city = ['GD','JS','SD','ZJ'] # 使用DataFrame构造函数,传入参数:字典data作为values和columns,列表city作为index # 构造出的DataFrame赋值给df df = pd.DataFrame(data, index=city) # 用print输出变量df的每一列数据的值 print(df.values) |
返回DataFrame对象的值values的后缀:.values
|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| index 同理,我们访问DataFrame的index属性,可以获取它的行索引index。 | |
| 示例: 我们通过访问DataFrame对象的index属性,返回了变量df的行索引index,将其输出。 根据输出可以看到,返回了变量df的索引index,即变量city所存储的列表的值。 | import pandas as pd data = {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city = ['GD','JS','SD','ZJ'] df = pd.DataFrame(data, index=city) #用print输出变量df的行索引 print(df.index) 结果: Index(['GD', 'JS', 'SD', 'ZJ'], dtype='object') |
| 返回DataFrame对象的行索引index的后缀:.index | |
| | |
| 修改index 在使用index属性获取到一个对象的index后,我们可以通过对其值,来改变它的index。 示例中,df的index传入了列表city,将df输出进行查看; 然后,将df的index改为列表city_CN的值,并将此时的df输出进行查看: ||
| import pandas as pd # 定义一个字典和一个列表 data= {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city= ['GD','JS','SD','ZJ'] # 使用DataFrame构造函数,传入参数:字典data作为values和columns,列表city作为index # 构造出的DataFrame赋值给df df= pd.DataFrame(data, index=city) # 定义一个新的列表city_CN city_CN = ['广东','江苏','山东','浙江'] # TODO 将新列表city_CN赋值给df的index df.index = city_CN # 用print输出此时的df print(df) ||
| ||
因为DataFrame是一个二维的数据结构。因此,它有一个新的属性:轴(axis)。
DataFrame 的轴
|--------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| 轴(axis),是用来为超过一维的数组定义属性。 二维数组有两个轴,三维数组有三个轴,以此类推。 | 对于DataFrame而言: 第0轴垂直向下,即axis=0是垂直方向进行操作; 第1轴水平向右,即axis=1是水平方向进行操作。 |
| 举一个例子: 如果要按行或者按列来对DataFrame内的数据进行求和,可以使用sum()函数。 那么在sum()函数中,就可以使用axis参数来指定求和的方向。 右侧展示了: 当axis=0时,是在垂直的方向上进行求和操作; 当axis=1时,是在水平的方向上进行求和操作。 | |
| DataFrame进行df.mean(axis=0)操作的运行结果 | axis=0是垂直方向进行处理,处理后是浮点数的数据类型,dtype是float64。 |