首页 > 其他分享 >Pandas数据分析

Pandas数据分析

时间:2024-07-04 10:32:45浏览次数:14  
标签:数据分析 df res pd 18 data Pandas axis

Pandas数据分析

1.基本统计函数

函数 说明
sum() 求和
count() 统计个数
max() 求最大值
min() 求最小值
median() 求中位数
mean() 求平均值
mode() 求众数
var() 求方差
std() 求标准差
quantile() 求分位数

(1)sum()

df.sum(axis=0或1,numeric_only=布尔值)

numeric_only的默认值为False,表示对所以的行或列进行求和

True则会对数字进行求和

import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.sum(axis=0, numeric_only=False)
print(res)

(2)count()

df.count(axis=0或1)
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.count(axis=0)
print(res)

(3)max() & min()

df.max(axis=0或1,numeric_only=布尔值)
df.min(axis=0或1,numeric_only=布尔值)

numeric_only的默认值为False,表示对所以的行或列进行求最值

True则会对数字进行求最值

import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.max(axis=0, numeric_only=True)
print(res)

(4)median()

df.median(axis=0或1,numeric_only=布尔值)
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.median(axis=0, numeric_only=True)
print(res)

(5)mode()

df.mode(axis=0或1, numeric_only=布尔值)
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.mode(axis=0, numeric_only=False)
print(res)

(6)quantile()

df.quantile(axis=0或1,q=值)

q是一个浮点数表示取多少百分位数

import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.quantile(axis=0, numeric_only=True, q=0.5)
print(res)

2.其他统计函数

函数 说明
unique() 统计取值的种类
value_counts() 统计取值个数
pct_change() 求变化百分比
idxmax() 求最大值的行名
idxmin() 求最小值的行名

(1)unique()

df[列名].unique()
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df["平均价格(元/斤)"].unique()
print(res)
返回的结果是个列表,里面是这一列全部的取值

(2)value_counts()

df[列名].value_counts()
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df["平均价格(元/斤)"].value_counts()
print(res)

返回结果为Series,Series的index是值的种类,value是值对应的个数

(3)pct_change()

df.pct_change(axis=0或1)
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data).iloc[:, [1, 2, 3]]
res = df.pct_change(axis=0)
print(res)

这个函数将每一个元素和前面的值进行比较,计算变化百分比

(4)idxmax() & idxmin()

df[列名].idxmax()
df[列名].idxmin()
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df["月销量(斤)"].idxmax()
print(res)

3.整体情况

(1)describe()

describe()函数会一次性获得一个数据集

df.describe()
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.describe()
print(res)

(2)info

info()函数会的一个数据集,主要为类型,列名等

df.info()
import pandas as pd

data = {
    "水果名称": ["苹果", "香蕉", "橙子", "西瓜", "草莓", "葡萄", "芒果", "菠萝", "梨", "桃子"],
    "平均价格(元/斤)": [5, 3, 6, 2, 10, 8, 7, 4, 4, 5],
    "月销量(斤)": [500, 350, 400, 600, 200, 300, 250, 180, 220, 150],
    "维生素 C 含量(mg/100g)": [4, 8, 30, 6, 60, 5, 28, 18, 4, 7]
}
df = pd.DataFrame(data)
res = df.info()
print(res)

4.聚合函数

聚合函数可以实现多个对象进行统计

df.agg(列表)

5.数据分类

(1)创建分组

df.groupby(列名或列表)
import pandas as pd

data = {
    "学生姓名": ["张三", "李四", "王五", "赵六", "孙七"],
    "班级": ["一班", "二班", "三班", "一班", "二班"],
    "性别": ["男", "女", "男", "女", "男"],
    "年龄": [18, 19, 20, 17, 18]
}

df = pd.DataFrame(data)
group = df.groupby("班级")
for i in group:
    print(i)

(2)统计分析

可以使用一些统计函数进行分析

import pandas as pd

data = {
    "学生姓名": ["张三", "李四", "王五", "赵六", "孙七"],
    "班级": ["一班", "二班", "三班", "一班", "二班"],
    "性别": ["男", "女", "男", "女", "男"],
    "年龄": [18, 19, 20, 17, 18]
}

df = pd.DataFrame(data)
group = df.groupby("班级")
res = group.count()
print(res)

标签:数据分析,df,res,pd,18,data,Pandas,axis
From: https://www.cnblogs.com/hanstary/p/18283094

相关文章

  • 像学Excel 一样学 Pandas系列-创建数据分析维度
    嗨,小伙伴们。又到喜闻乐见的Python数据分析王牌库Pandas的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。其中,Pandas的基础信息导入、数据导入和数据整理、数据探索和清洗已经在前几篇文章......
  • 这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
    微软在UserVoice上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将Python作为Excel的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015年这个点⼦发布以来并没有什么实质性进展,但在2020年年末,Python之⽗GuidovanRoss......
  • Pandas数据处理
    Pandas数据处理1.操作行名和列名(1)设置某一列为行名df.set_index(列名,drop=布尔值)#drop表示是否删除这一列importpandasaspddata=[["0001",'苹果',5,'山东'],["0002",'香蕉',3,'海南'],["0003",'橙子......
  • 金融集团大数据分析平台总体架构方案
    。。。。。。关注公众号:野老杂谈,回复“金融集团大数据分析平台总体架构方案”获取80多页原文PPT......
  • 【Python&GIS】基于Geopandas和Shapely计算矢量面最短路径
    ​    在GIS进行空间分析时经常会需要计算最短路径,我也是最近在计算DPC的时候有这方面的需求,刚开始直接是用面的中心点求得距离,但其对不规则或空洞面很不友好。所以今天跟大家分享一下基于Geopandas和Shapely计算矢量面最短路径,这里的最短即点/边的最短!原创作者:RS迷......
  • Pandas数据清洗处理分析
    Pandas是一个开源的Python数据分析库,它提供了快速、灵活且表达力强的数据结构,旨在使数据清洗和分析工作变得更加简单易行。以下是Pandas在数据清洗和分析中常用的一些功能:1.**数据加载**:Pandas可以读取多种格式的数据,包括CSV、Excel、SQL数据库、JSON等。2.**数据框(DataF......
  • python解析Linux top 系统信息并生成动态图表(pandas和matplotlib)
    文章目录0.引言1.功能2.使用步骤3.程序架构流程图结构图4.数据解析模块5.图表绘制模块6.主程序入口7.总结8.附录完整代码0.引言在性能调优和系统监控中,top命令是一种重要工具,提供了实时的系统状态信息,如CPU使用率、内存使用情况和进程状态。然而,仅凭......
  • Pandas数据筛选
    Pandas数据筛选1.reindex()df.reindex(index=列表,columns=列表)importpandasaspddata=[['苹果',5,'山东'],['香蕉',3,'海南'],['橙子',6,'江西'],['西瓜',2,'新疆'],[......
  • R语言数据分析案例38-高等教育学生成绩分析(多元线性回归)
    一、研究背景学生成绩是衡量教育质量的重要指标,同时也是教育工作者进行教学反思和改进的重要依据。随着现代教育的不断发展,各类学科课程的设置日益多样化,学生的学习表现也呈现出复杂多样的特征。为了深入了解学生在各门课程中的表现,找出影响学生成绩的关键因素,有必要对学生成......
  • [AIGC] 常用的OLAP数据库:为数据分析提供强大的支持
    导语:在大数据时代,数据分析成为了企业决策的重要依据。为了高效地处理和分析海量的数据,OLAP数据库应运而生。本文将介绍几种常用的OLAP数据库,为数据分析提供强大的支持。一、SnowflakeSnowflake是一种云原生的OLAP数据库,以其强大的数据处理能力和灵活的架构而闻名。它具有......