Pandas数据分析常用函数

pandas常用数据类型

pandas扩展库是基于扩展库numpy和matplotlib的数据分析模块,是一个开源的项目,提供了大量的标准数据类型,具有高效操作大型数据的功能。
使用pip install pandas在命令提示符环境下安装扩展库pandas。
常用数据类型:
1.Series,带标签的一维数组
2.DataFrame,带标签且大小可变的二维表格结构

Series简介与常用操作

1.series简介
Series是pandas提供的一维数组,有索引和值两部分组成,是一个类似于字典的结构。值的类型可以不同,默认使用从0开始的整数作为索引,也可以自定义。
2.Series常用操作

import pandas as pd
import matplotlib.pyplot as plt

# 设置输出结果列对齐
pd.options("display.unicode.ambiguous_as_wide",True)
pd.options("display.unicode.east_asian_width",True)

s1 = pd.Series(range(1, 20, 5))
s2 = pd.Series({"语文":90, "数学":92, "Python":98, "物理":87, "化学":92})

# 1.修改指定索引对应值
s1[3] = -17
s2["语文"] = 94

# 2.求绝对值
print(abs(s1))

# 3.s1所有值加五
print(s1+5)

# 4.s1所有索引前加2
print(s1.add_prefix(2))

# 5.绘制s2直方图
s2.hist()
plt.show()

# 6.s2所有索引后加_独角兽
print(s2.add_suffix("_独角兽"))

# 7.s2中最大索引
print(s2.idxmax())

# 8.测试s2的值是否在指定区间内
print(s2.between(90,94,inclusive=True))

# 9.查看s2中大于中值数的数据
print(s2[s2>s2.median()])

# 10.s2数值运算
print(round((s2**0.5)*10, 1))

# 11.s2最小的两个数
print(s2.nsmallest(2))

# 两个等长的Series对象之间可以进行四则运算和幂运算
# 只对两个Series对象中都有相同索引的进行计算
# 非共同索引对应值为NaN
# 12.求两对象和
print(pd.Series(range(5)) + pd.Series(range(5,10)))

# 13.pipe()实现函数链式调用功能,每个值的平方对5的余数
print(pd.Series(range(5)).pipe(lambda x,y,z:(x**y)%z, 2, 5))

# 14.标准差,无偏方差,无偏标准差
print(pd.Series(range(5)).std())
print(pd.Series(range(5)).var())
print(pd.Series(range(5)).sem())

# 15.查看是否存在等价于True的值
print(any(pd.Series([3,0,True])))

# 16.查看是否所有值都等价于True
print(all(pd.Series([3,0,True])))

DataFrame简介与常用操作

1.DataFrame简介
DataFrame是pandas最常用的数据结构,每个DataFrame对象可以看作一个二位表格,由索引(index)、列名(columns)、和值(values)三部分组成。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


pd.set_option("display.unicode.ambiguous_as_wide", True)
pd.set_option("display.unicode.east_asian_width", True)

# 在[1,20]区间上生成5行3列15个随机数
# 使用index参数指定索引,columns参数指定每列标题
df = pd.DataFrame(
    np.random.randint(1, 20, (5, 3)),
    index=range(5),
    columns=["a", "b", "c"]
)

dn = pd.DataFrame(
    {"语文":[87,79,67,92],
     "数学":[93,89,80,77],
     "英语":[90,80,70,75]},
    index=["张三", "李四", "王五", "赵六"]
)
print(dn)

# 1.报存为csv文件/excel文件
dn.to_csv("成绩.csv")
dn.to_excel("成绩.xlsx")

# 2.读取csv文件/excel文件
dn = pd.read_csv("成绩.csv", usecols=["语文", "英语"])
# usecols:读取选中列数据,index_col:以莫列为新索引,skiprows:跳过所选行
dn = pd.read_excel("成绩.csv", usecols=["语文", "数学", "英语"], index_col=1)

# 3.筛选符合要求数据
# 3.1切片
print(dn[:])
# 3.2 iloc使用下标为索引
print(dn.iloc[[1,2],[0,1]])
# 3.3 loc使用标签文本作为索引
print(dn.loc[["张三","王五","赵六"],["数学"]])
# 3.4 高于90分的数据
print(dn[dn>90])
# 3.5 isin求张三李四总分
print(dn[dn.index.isin(["张三", "李四"])].sum())
print(dn[dn["语文"].between(90,100)])

# 4.查找语文最高分
print(dn["语文"].max())
print(dn.loc[dn["语文"].idxmax(),"语文"])

# 5. 数据排序
# sort_index(axis=0,ascending=True,inplace=False)函数
# 参数axis=0是表示按行索引排序,axis=1时表示按列名排序
# 参数ascending:true为升序、false为降序
# 参数inplace:true表示原地排序,false表示返回一个新的DataFrame
print(dn.sort_values(by=["语文","数学","英语"], ascending=[False,True,True]))

# 6.分组与聚合
# groupby()函数
ds = pd.DataFrame(
    {"语文":[87,79,67,92],
     "数学":[93,89,80,77],
     "英语":[90,80,70,75]},
    index=["张三", "李四", "王五", "赵六"]
)
dn = dn.append(ds)
print(dn.groupby(by=dn.index)["语文", "数学", "英语"].sum())
print(dn.agg({"语文":["max","min"]}))

# 7.处理缺失值
print(dn.dropna())

# 8.处理重复值
print(dn[dn.duplicated()])
dn = dn.drop_duplicates()
print(dn)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Pandas 是一个强大的数据分析工具,它提供了许多常用函数来处理和分析数据。下面是一些常用Pandas 数据分析函数: 1. 读取数据: - `pd.read_csv()`:读取以逗号分隔的文本文件 - `pd.read_excel()`:读取 Excel 文件 - `pd.read_sql()`:从 SQL 数据库中读取数据 2. 数据预览和基本信息: - `df.head()`:返回数据集的前几行,默认返回前 5 行 - `df.tail()`:返回数据集的后几行,默认返回后 5 行 - `df.info()`:查看数据集的基本信息,包括列名、数据类型、非空值数量等 - `df.describe()`:显示数据集的基本统计信息,如平均值、标准差、最小值、最大值等 3. 数据选择和过滤: - `df.loc[]`:按行标签和列标签选择数据 - `df.iloc[]`:按行号和列号选择数据 - `df[df['column'] > value]`:根据条件选择数据 4. 数据清洗和处理: - `df.dropna()`:删除包含缺失值的行或列 - `df.fillna(value)`:用指定的值填充缺失值 - `df.drop_duplicates()`:删除重复的行 - `df.replace(old_value, new_value)`:替换指定值 5. 数据排序和排名: - `df.sort_values(by='column', ascending=True)`:按指定列的值进行升序排序 - `df.rank()`:对数据进行排名 6. 数据聚合和分组: - `df.groupby('column').mean()`:按指定列进行分组,并计算每个组的平均值 - `df.groupby('column').sum()`:按指定列进行分组,并计算每个组的总和 - `df.pivot_table(values='value', index='index_column', columns='column')`:创建数据透视表 这只是一些常用Pandas 数据分析函数,还有很多其他函数可以根据具体需求使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独角兽小马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值