python pandas库统计分析基础必备知识汇总

文章目录

  • 1.Series

    • 1.1创建一个Series
  • 1.2创建Series并设置索引

  • 1.3索引

    • 1.3.1一个标签索引
  • 1.3.2多个标签索引

  • 1.3.3一个位置索引

  • 1.3.4多个位置索引

  • 1.4切片

    • 1.4.1标签切片
  • 1.4.2位置切片

  • 1.5Series的index和values属性

  • 2.DataFrame

    • 2.1创建一个DataFrame对象
    • 2.1.1不指定index和columns
  • 2.1.2指定index和columns

  • 2.1.3使用字典创建DataFrame

  • 2.2遍历DataFrame对象数据的每一列

  • 2.3索引与切片

    • 2.3.1 loc标签索引
    • 2.3.1.1获取单行数据
  • 2.3.1.2获取多行数据

  • 2.3.1.3切片连续多行数据

  • 2.3.2iloc位置索引

    • 2.3.2.1获取某行数据
  • 2.3.2.2获取多行数据

  • 2.3.2.3切片连续多行数据(左闭右开)

  • 2.3.3直接获取指定列数据

    • 2.3.3.1获取单列
  • 2.3.3.2获取多列

  • 2.3.4获取指定行、列数据

    • 2.3.4.1 loc标签索引
  • 2.3.4.2 iloc位置索引

  • 2.3.5 按指定条件获取(布尔索引)

  • 2.4 增加数据

    • 2.4.1 按列增加数据
    • 2.4.1.1 直接添加
  • 使用insert()方法添加

  • 2.4.2 按行增加数据

    • 2.4.2.1 增加一行
  • 2.4.2.2 增加多行数据

  • 2.5 修改列名&索引

    • 2.5.1修改列名
  • 2.5.1.1 通过DataFrame的columns属性

    • 2.5.1.2 通过DataFrame的rename()方法
  • 2.5.2 修改索引(index)

    • 2.5.2.1 通过index属性
  • 2.5.2.2通过rename方法

  • 2.6 修改数据

      • 2.6.1 使用loc
    • 修改整行数据
  • 修改整列数据

  • 修改指定某一数据

  • 2.6.2 使用iloc

    • 修改整行数据
  • 修改整列数据

  • 修改指定某一数据

  • 2.7 删除数据

    • 2.7.1 删除某列
  • 2.7.2 删除某行

  • 2.7.3删除特定条件的行

  • 2.8 打印DataFrame的简短摘要

  • 2.9 处理缺失值与重复值

    • 2.9.1处理缺失值
    • 2.9.1.1 准备缺失值
  • 2.9.1.2 删除该缺失值所在行

  • 2.9.1.3获取某字段没有缺失值 的行

  • 2.9.1.4 填充缺失值

    • 2.9.1.4.1 填充所有缺失值
  • 2.9.1.4.2 填充局部缺失值

  • 2.9.2 处理重复值

    • 2.9.2.1准备数据
  • 2.9.2.2 判断重复值

    • 2.9.2.2.1 判断整行数据是否重复
  • 2.9.2.2.2 判断某字段数据是否重复

  • 2.9.2.3 去重

    • 2.9.2.3.1 删除整行重复值
  • 2.9.2.3.2 删除某字段重复 的行

  • 2.10设置索引

    • 2.10.1 reindex
    • 缺失值以0填充
  • 缺失值向前/向后填充

  • 重新设置行索引、列索引和行列索引

  • 2.10.2 set_index

    • 2.10.2.1 设置某列为index
  • 2.10.2.2 设置drop=True

  • 2.11排序

    • 2.11.1 sort_values()单列排序
  • 2.11.2 sort_values()多列排序

  • 2.11.3 group_by()对统计结果排序

  • 2.11.4横向排序 axis=1

  • 2.11.5 排名 rank()

  • 3.pandas读取文件

    • 3.1read_excel()
    • 3.1.1准备数据
  • 3.1.2默认方式读取

  • 3.1.3设置index_col参数

  • 3.1.4设置header参数

  • 3.1.5设置usecols参数

  • 3.1.6设置sheet_name参数以指定工作簿

  • 3.1.7解决数据输出时列名不对齐的问题

  • 3.2read_csv()

    • 3.2.1设置encoding参数
  • 3.2.2设置sep参数指定分隔符

  • 3.3read_html()小案例

    • 3.3.1pd.read_html()方法
  • 3.3.2DataFrame的append()方法

  • 3.3.3pd.to_csv()方法

1.Series

==============================================================================


1.1创建一个Series


s1 = pd.Series([11, 22, 33])

print(s1)

索引默认为0,1,2

在这里插入图片描述

1.2创建Series并设置索引


s2 = pd.Series([11, 22, 33], index=[1, 2, 3])

s3 = pd.Series([11, 22, 33], index=[‘a’, ‘b’, ‘c’])

print(s2)

print(s3)

在这里插入图片描述


1.3索引


索引方式默认优先标签索引,如果标签不存在,则尝试位置索引。

如果位置也不存在(out of bounds),则报错IndexError。

1.3.1一个标签索引

print(s2[1])

在这里插入图片描述

1.3.2多个标签索引

print(s2[[‘a’, ‘b’]])

在这里插入图片描述

1.3.3一个位置索引

print(s3[1])

在这里插入图片描述

1.3.4多个位置索引

print(s3[[0, 2]])

在这里插入图片描述


1.4切片


1.4.1标签切片

切片方式为左闭右闭([,]),即两个边界值都可取。

print(s3[‘a’: ‘c’])

在这里插入图片描述

1.4.2位置切片

同样优先视为标签,如果标签不存在则视为位置。当Series索引默认为0,1,2…时不用考虑该区分。

s4 = pd.Series([70, 82, 69, 90, 64])

位置索引做切片

print(s4[1:4])

在这里插入图片描述


1.5Series的index和values属性


Series对象有index和value属性,可直接调用进行查看。

import pandas as pd

s1 = pd.Series([50, 56, 74, 85])

print(s1.index)

print(s1.values)

在这里插入图片描述


2.DataFrame

=================================================================================

2.1创建一个DataFrame对象


2.1.1不指定index和columns

当不指定index和columns时,默认为0, 1, 2。

import pandas as pd

data = [[120, 115, 109], [101, 100, 112], [106, 110, 125]]

df = pd.DataFrame(data=data)

print(df)

在这里插入图片描述

2.1.2指定index和columns

import pandas as pd

data = [[120, 115, 109], [101, 100, 112], [106, 110, 125]]

index = [0, 1, 2]

columns = [‘AAA’, ‘BBB’, ‘CCC’]

df = pd.DataFrame(data=data, index=index, columns=columns)

print(df)

在这里插入图片描述

2.1.3使用字典创建DataFrame

键为列名,值为该列数据组成的列表。值也可以是单个元素,表示该列都取该值。

import pandas as pd

df = pd.DataFrame({

‘AAA’: [120, 101, 106],

‘BBB’: [115, 100, 110],

‘CCC’: [109, 112, 125],

‘DDD’: ‘ABCDEFG’

}, index=[0, 1, 2])

print(df)

在这里插入图片描述

2.2遍历DataFrame对象数据的每一列


for col in df.columns:

series = df[col]

print(series)

在这里插入图片描述

2.3索引与切片


2.3.1 loc标签索引

2.3.1.1获取单行数据

import pandas as pd

df = pd.DataFrame({

‘AAA’: [120, 101, 106, 117, 114, 122],

‘BBB’: [115, 100, 110, 125, 123, 120],

‘CCC’: [109, 112, 125, 120, 116, 115],

‘DDD’: ‘ABCDEFG’

}, index=[1, 2, 3, 4, 5, 6])

print(df)

print("=======================")

print(df.loc[1])

df.loc[1]获取到标签索引为1的数据,在这里即第一行的。

在这里插入图片描述

2.3.1.2获取多行数据

print(df)

print("=======================")

print(df.loc[[1, 3]])

在这里插入图片描述

2.3.1.3切片连续多行数据

标签索引切片时左右边界的值都可以取。

print(df)

print("=======================")

print(df.loc[1:5])

在这里插入图片描述

2.3.2iloc位置索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值