数据分析04——Pandas简介/Series对象/DataFrame对象

1、Pandas简介:

  • Pandas是基于NumPy开发的
  • 数据分析三大剑客之一,Python数据分析的核心库
  • 提供快速、灵活、明确的数据结构
  • Series对象:一维数组结构,由index和value构成
  • DataFrame对象:二维数组结构,由index、column和value构成
  • 能够简单、直观、快速地处理各种类型的数据

2、Series对象:

  • 创建series对象方法很简单,但是series索引获取值方法就有两种,一种是通过原索引,一种是通过自定义索引。
  • 关键字:Series、data、index、values、hasnans
import pandas as pd	# 必须要导入pandas库,别名都是约定俗成的pd

# 创建pandas对象
s1 = pd.Series([88, 98, 75])

# 设置Series索引,如果不设置索引,默认从0开始
s2 = pd.Series(
    data=[88, 98, 75],
    index=[1, 2, 3])
   
# 索引不一定是数字
s3 = pd.Series(
    data=[88, 98, 75],
    index=['张三', '李四', '王五'])

# 我们自己设置的索引叫做索引名,原有的默认索引叫做索引号
print(s3[0])	# 88
print(s3['张三'])	# 88

# 可以通过多个索引名获取值
print(s3[['张三', '王五']])	# 88 75

# 索引名(自定义的)切片获取值,左闭右闭
s3['张三':'王五']

# 索引号(原始的)切片获取值,左闭右开
s3[0:2]

# 获取series对象的索引
s3.index
# 获取series对象的值
s3.values

# nan:not a number,指空值
s3.hasnans	# 判断series对象是否包含一个空值

3、DataFrame对象:

  • DataFrame对象其实就是一个二维数组
  • 创建DataFrame对象普通方法:(data(二维数组)、index(行索引、序号)、columns(列索引、表头、字段))
import pandas as pd

# 表单由行列构成,二维数组
# 索引:行索引(序号)、列索引(表头)
data = [[110, 105, 99],
        [105, 88, 115],
        [109, 120, 130]]
index = [0, 1, 2]  # 行索引
columns = ['语文', '数学', '英语']  # 列索引

df = pd.DataFrame(
    data=data,
    index=index,
    columns=columns)
df
# DataFrame由index、columns、values三个组件构成
# DataFrame对象是Series对象的集合

在这里插入图片描述

  • 如果新建DataFrame对象时,data中只有一行数组会发生什么? 答:可以正确新建对象
d1 = pd.DataFrame(
    data = [[1, 2, 3]],
#     index=[1, 2, 3]
    columns = ['你', '我', '他']
)
  • 用字典创建DataFrame对象方法:

    • 本质就是通过字典把创建每一列的数据,其中列索引是字典的key,每一列的值就是字典的value
      在这里插入图片描述
  • 遍历DataFrame

    • DataFrame对象名.columns:获取列索引
    • 通过列索引获取的每一列数据都是一个Series对象
    • DataFrame对象名[列索引]:获取某一列数据(Series对象)
    • 遍历DataFrame,归根结底就是在遍历列数据
for col in df.columns:
    series = df[col]
    print(series)
  • DataFrame的重要属性
    1、查看所有值:DataFrame对象名.values
    2、查看某一列中不重复的值(去重):DataFrame对象名[列名].unique()
    3、查看某列的不重复值的数量:DataFrame对象名[列名].nunique()
    4、查看所有列的数据类型:DataFrame对象名.dtypes
    5、查看所有行名:DataFrame对象名.index
    6、重命名行名:DataFrame对象名.index = [‘A1’, ‘A2’, ‘A3’]
    7、查看所有列名:DataFrame对象名.columns
    8、重命名列名:DataFrame对象名.columns = [‘语’, ‘数’, ‘外’]
    9、将行列数据进行转置:DataFrame对象名.T
    10、查看前n条数据:DataFrame对象名.head(n) # 如果总数据不足n条,不会报错,会给出所有数据
    11、查看后n条数据:DataFrame对象名.tail(n)
    12、查看行数和列数:DataFrame对象名.shape
    13、查看行数:DataFrame对象名.shape[0]
    14、查看列数:DataFrame对象名.shape[1]
    15、查看详细信息(索引、数据类型、非空值数量和内存信息):DataFrame对象名.info()

  • DataFrame的重要函数
    注:下面用df表示DataFrame对象名
    1、查看每列的描述统计信息(返回数据还是DataFrame类型):df.describe().round(2) # round(2)是保留两位小数,在这可加可不加
    2、返回每列非空值数量:df.count()
    3、返回每列的合计:df.sum()
    4、返回每列的最大值:df.max()
    5、返回每列最小值:df.min()
    6、返回最大值的索引号(返回的是默认索引):df[列名].argmax()
    7、返回最小值的索引号(返回的是默认索引):df[列名].argmin()
    8、返回最大值的索引名(返回的是自定义索引):df[列名].idxmax()
    9、返回最小值的索引名(返回的是自定义索引):df[列名].idxmin()
    10、返回每列平均值:df.mean()
    11、返回每列中位数:df.median()
    12、返回方差:df.var()
    13、返回某一列方差:df[列名].var()
    14、返回标准差:df.std()
    15、检查df中的空值(两种):df.isnull() # df.notnull()


总结:

  • 在DataFrame中的很多属性和函数都是通过列来进行操作的,所以在DataFrame中列可以看作一个基本单位
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值