Python数据分析基础学习笔记(3)--Pandas和DataFrame(百职帮自用)

1. DataFrame的概念

定义:

DataFrame,中文叫数据框。是pandas模块最常用的数据类型,是一个二维的矩阵数据表。

一个DataFrame,它由3部分组成:

既有行索引(index),可以用来定位到具体的某一行。

也有列索引(columns),用来定位到具体的某一列。

通过index和columns,可以定位到一个值,能快速进行数据的筛选和定位。

在某种程度上,可以认为DataFrame是“具有相同index的Series的集合”。

因此,DataFrame的同一列中,值的数据类型相同。

但是,列和列之间的数据类型可以不同。

同样的,和Series类似,DataFrame的行索引index是可以选择性定义的。

如果没有定义index,index就会默认从0开始生成。

2. 构造一个DataFrame

1.传入字典

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)

这几行代码,构造了一个DataFrame。

第1行,导入pandas模块。
第3行,定义了一个字典。
第4行,定义了一个列表。
第6行,使用DataFrame构造函数创建了一个DataFrame,并赋值给了变量df。
第8行,将这个创建的DataFrame输出。

在构造过程中:字典中的keys,就成为了DataFrame中的列索引columns。

字典中的values,就成为了DataFrame中的值values。

参数index用于定义DataFrame的行索引(index)。
只需要将一个列表赋值给参数index。

示例中,我们将定义的列表city赋值给参数index。
city中的值,会成为DataFrame的index。

若不传入参数index,那么生成的DataFrame的index就会默认从0开始生成。

将pd.DataFrame()函数创建的DataFrame,赋值给了df这个变量。

将df输出可以看到,它是一个DataFrame对象:

列索引(columns)是由字典data的的keys组成;
值(values)是由字典data的的值组成;
行索引(index)是由列表city的值组成。

2. 传入列表

除了字典外,我们还可以用列表的方式构造一个DataFrame。

如图,列表的数据依次成为DataFrame的values。

此时,参数data是嵌套列表,没有自定义columns。

生成的DataFrame的columns会默认从0开始生成。

也就是说,参数data传入的是列表时,需要在pd.DataFrame()函数内使用参数columns,用于自定义列索引columns。

3. DataFrame的常用属性

DataFrame的属性,与Series非常相似。

同样的,我们学习DataFrame的3种常用属性:

1. dtypes

我们知道,DataFrame对象有多列数据,数据类型也是:字符串型、整型、浮点型、布尔型。

我们访问DataFrame对象的dtypes属性,会返回DataFrame对象每一列的数据类型。

2. values

我们访问DataFrame对象的values属性,会以数组的形式返回DataFrame对象的值values。

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)

3. 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)

4. DataFrame的轴

因为DataFrame是一个二维的数据结构。

因此,它有一个新的属性:轴(axis)。

轴(axis),是用来为超过一维的数组定义属性。

二维数组有两个轴,三维数组有三个轴,以此类推。

对于DataFrame而言:

第0轴垂直向下,即axis=0是垂直方向进行操作;

第1轴水平向右,即axis=1是水平方向进行操作。

如果要按行或者按列来对DataFrame内的数据进行求和,可以使用sum()函数。

那么在sum()函数中,就可以使用axis参数来指定求和的方向。

右侧展示了:

axis=0时,是在垂直的方向上进行求和操作;

axis=1时,是在水平的方向上进行求和操作。

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值