京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者 | 刘顺祥
来源 | 数据分析1480
这一期将分享我认为比较常规的100个实用函数,这些函数大致可以分为六类,分别是统计汇总函数、数据清洗函数、数据筛选、绘图与元素级运算函数、时间序列函数和其他函数。
统计汇总函数
数据分析过程中,必然要做一些数据的统计汇总工作,那么对于这一块的数据运算有哪些可用的函数可以帮助到我们呢?具体看如下几张表。
import pandas as pd import numpy as np x = pd.Series(np.random.normal(2,3,1000)) y = 3*x + 10 + pd.Series(np.random.normal(1,2,1000)) # 计算x与y的相关系数 print(x.corr(y)) # 计算y的偏度 print(y.skew()) # 计算y的统计描述值 print(x.describe()) z = pd.Series(['A','B','C']).sample(n = 1000, replace = True) # 重新修改z的行索引 z.index = range(1000) # 按照z分组,统计y的组内平均值 y.groupby(by = z).aggregate(np.mean)
# 统计z中个元素的频次 print(z.value_counts()) a = pd.Series([1,5,10,15,25,30]) # 计算a中各元素的累计百分比 print(a.cumsum() / a.cumsum()[a.size - 1])
数据清洗函数
同样,数据清洗工作也是必不可少的工作,在如下表格中罗列了常有的数据清洗的函数。
x = pd.Series([10,13,np.nan,17,28,19,33,np.nan,27]) #检验序列中是否存在缺失值 print(x.hasnans) # 将缺失值填充为平均值 print(x.fillna(value = x.mean())) # 前向填充缺失值 print(x.ffill())
income = pd.Series(['12500元','8000元','8500元','15000元','9000元']) # 将收入转换为整型 print(income.str[:-1].astype(int)) gender = pd.Series(['男','女','女','女','男','女']) # 性别因子化处理 print(gender.factorize()) house = pd.Series(['大宁金茂府 | 3室2厅 | 158.32平米 | 南 | 精装', '昌里花园 | 2室2厅 | 104.73平米 | 南 | 精装', '纺大小区 | 3室1厅 | 68.38平米 | 南 | 简装']) # 取出二手房的面积,并转换为浮点型 house.str.split('|').str[2].str.strip().str[:-2].astype(float)
数据筛选
数据分析中如需对变量中的数值做子集筛选时,可以巧妙的使用下表中的几个函数,其中部分函数既可以使用在序列身上,也基本可以使用在数据框对象中。
np.random.seed(1234) x = pd.Series(np.random.randint(10,20,10)) # 筛选出16以上的元素 print(x.loc[x > 16]) print(x.compress(x > 16)) # 筛选出13~16之间的元素 print(x[x.between(13,16)]) # 取出最大的三个元素 print(x.nlargest(3)) y = pd.Series(['ID:1 name:张三 age:24 income:13500', 'ID:2 name:李四 age:27 income:25000', 'ID:3 name:王二 age:21 income:8000']) # 取出年龄,并转换为整数 print(y.str.findall('age:(d+)').str[0].astype(int))
绘图与元素级函数
np.random.seed(123) import matplotlib.pyplot as plt x = pd.Series(np.random.normal(10,3,1000)) # 绘制x直方图 x.hist() # 显示图形 plt.show() # 绘制x的箱线图 x.plot(kind='box') plt.show() installs = pd.Series(['1280万','6.7亿','2488万','1892万','9877','9877万','1.2亿']) # 将安装量统一更改为“万”的单位 def transform(x): if x.find('亿') != -1: res = float(x[:-1])*10000 elif x.find('万') != -1: res = float(x[:-1]) else: res = float(x)/10000 return res installs.apply(transform)
时间序列函数
其他函数
import numpy as np import pandas as pd np.random.seed(112) x = pd.Series(np.random.randint(8,18,6)) print(x) # 对x中的元素做一阶差分 print(x.diff()) # 对x中的元素做降序处理 print(x.sort_values(ascending = False)) y = pd.Series(np.random.randint(8,16,100)) # 将y中的元素做排重处理,并转换为列表对象 y.unique().tolist()
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
长短期记忆网络(LSTM)作为循环神经网络(RNN)的重要改进模型,凭借其独特的门控机制(遗忘门、输入门、输出门),有效解决了 ...
2026-04-08在数据分析全流程中,数据质量是决定分析结论可靠性的核心前提,而异常值作为数据集中的“异类”,往往会干扰统计检验、模型训练 ...
2026-04-08在数字经济飞速发展的今天,数据已渗透到各行各业的核心场景,成为解读趋势、优化决策、创造价值的核心载体。而数据分析,作为挖 ...
2026-04-08在数据分析全流程中,数据处理是基础,图形可视化是核心呈现手段——前者负责将杂乱无章的原始数据转化为干净、规范、可分析的格 ...
2026-04-07在数据分析与统计推断中,p值是衡量假设检验结果显著性的核心指标,其本质是在原假设(通常为“无效应”“无差异”)成立的前提 ...
2026-04-07在数字经济深度渗透的今天,数据已成为企业生存发展的核心资产,企业的竞争本质已转变为数据利用能力的竞争。然而,大量来自生产 ...
2026-04-07Python凭借简洁的语法、丰富的生态库,成为算法开发、数据处理、机器学习等领域的首选语言。但受限于动态类型、解释性执行的特性 ...
2026-04-03在深度学习神经网络中,卷积操作是实现数据特征提取的核心引擎,更是让模型“看懂”数据、“解读”数据的关键所在。不同于传统机 ...
2026-04-03当数字化转型从企业的“战略口号”落地为“生存之战”,越来越多的企业意识到,转型的核心并非技术的堆砌,而是数据价值的深度挖 ...
2026-04-03在日常办公数据分析中,数据透视表凭借高效的汇总、分组功能,成为Excel、WPS等办公软件中最常用的数据分析工具之一。其中,“计 ...
2026-04-02在数字化交互的全场景中,用户的每一次操作都在生成动态的行为轨迹——电商用户的“浏览商品→点击详情→加入购物车”,内容APP ...
2026-04-02在数字化转型深度推进的今天,企业数据已成为驱动业务增长、构建核心竞争力的战略资产,而数据安全则是守护这份资产的“生命线” ...
2026-04-02在数据驱动决策的浪潮中,数据挖掘与数据分析是两个高频出现且极易被混淆的概念。有人将二者等同看待,认为“做数据分析就是做数 ...
2026-04-01在数据驱动决策的时代,企业与从业者每天都会面对海量数据——电商平台的用户行为数据、金融机构的信贷风险数据、快消品牌的营销 ...
2026-04-01在数字化转型的浪潮中,企业数据已从“辅助运营的附属资源”升级为“驱动增长的核心资产”,而一套科学、可落地的企业数据管理方 ...
2026-04-01在数字化时代,每一位用户与产品的交互都会留下可追溯的行为轨迹——电商用户的浏览、加购、下单,APP用户的注册、登录、功能使 ...
2026-03-31在日常数据统计、市场调研、学术分析等场景中,我们常常需要判断两个分类变量之间是否存在关联(如性别与消费偏好、产品类型与满 ...
2026-03-31在CDA(Certified Data Analyst)数据分析师的职场实战与认证考核中,“可解释性建模”是核心需求之一——企业决策中,不仅需要 ...
2026-03-31多层感知机(MLP,Multilayer Perceptron)作为深度学习中最基础、最经典的神经网络模型,其结构设计直接决定了模型的拟合能力、 ...
2026-03-30在TensorFlow深度学习实战中,数据集的加载与预处理是基础且关键的第一步。手动下载、解压、解析数据集不仅耗时费力,还容易出现 ...
2026-03-30