机器学习-数据科学库 06 数据的合并和分组

数据挖掘聚类实验 山东建筑大学张冬梅数据挖掘实验八聚类算法 阅读详情

字符串离散化实例

目的:将列 Genre 通过逗号分割,最终以所有的可能出现的值位列,统计某行(电影)数据,是否出现该分类,最终统计每个分类的电影的数量和

# coding=utf-8
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
file_path = "./IMDB-Movie-Data.csv"

df = pd.read_csv(file_path)
print(df["Genre"].head(3))
#统计分类的列表
temp_list = df["Genre"].str.split(",").tolist()  #[[],[],[]]

genre_list = list(set([i for j in temp_list for i in j]))

#构造全为0的数组
zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)
# print(zeros_df)

#给每个电影出现分类的位置赋值1
for i in range(df.shape[0]):
    #zeros_df.loc[0,["Sci-fi","Mucical"]] = 1
    zeros_df.loc[i,temp_list[i]] = 1

# print(zeros_df.head(3))

#统计每个分类的电影的数量和
genre_count = zeros_df.sum(axis=0)
print(genre_count)

# 排序
genre_count = genre_count.sort_values()
_x = genre_count.index
_y = genre_count.values

# 画图
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(_x)),_y,width=0.4,color="orange")
plt.xticks(range(len(_x)),_x)
plt.show()

数据合并

# join: 按照行索引合并(value 相加),out 行数 = df1 行数,列增加,缺失则 NaN
out = df1.join(df2)

# merge: 按照某个列索引合并

# 内连接(默认):并集,当 df1 和 df2 某列的值相等时候才输出
out = df1.merge(df2, on=column0)
out = df1.merge(df2, on=column0, how="inner")

# 外连接:交集,df1 df2 一个有一个没有则补充 NaN
out = df1.merge(df2, on=column0, how="outer")

# 左联:df1 df2 所有列都保留,左边为准,
out = df1.merge(df2, on=column0, how="left")

# 右脸:df1 df2 所有列都保留,右边为准
out = df1.merge(df2, on=column0, how="left")

分组

# 按照列进行分组
# 返回 DataFrameGroupBy
# 每一个元素是二元组(索引(分组的值), 分组后的 DataFrame)
grouped = df.groupby(by=column0)

# 求均值返回 索引到均值
out = grouped.mean()

# 统计所有组的数量
count = grouped.count()

# 按照 column0 统计所有的数量,column0 是 df 的 column
countSeries = grouped[column0].count()

# 取出某个 group 的数量
out = countSeries[group]

# 支持多个条件分组
# 联合主键形式
grouped = df.groupby(by=[column0, column1])

# 某几列进行分组,注意 by 需要再次取列 返回 Series
series = df[column0].groupby(by=[df[column0], df[column1]]).count()

# 某几列进行分组,注意 by 需要再次取列 返回 DataFrame
# 以下三种等效
grouped1 = df[["Brand"]].groupby(by=[df["Country"],df["State/Province"]]).count()
grouped2= df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count()
grouped3 = df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]]

索引

# 获取index
df.index

# 指定index 
df.index = ['x','y']

# 重新设置index 
# 不存的索引整行填充 NaN
df.reindex(list("abcedf"))

# 指定某一列作为index 
# drop = True 则 column 会删除
df.set_index("Country",drop=False)

# 返回index的唯一值(去重)
df.set_index("Country").index.unique()

# 多索引
df.set_index([column0, column1]).index.unique()

Series 复合索引例子

# 建立多索引
df.set_index([column0, column1])

  # 只考虑 column2 列
  [column2]

  # Series 的复合索引可以直接取,此时当做 Series 用
  [column0value, column1value]

df.set_index([column0, column1])

  # 只考虑 column2 列
  [column2]

  # 两个索引,可以交换索引
  .swaplevel()

  # Series 的复合索引可以直接取,此时当做 Series 用
  [column1value]

# series 复合索引例子

DataFrame 复合索引例子

dfi = df.set_index([column0, column1])

  # 建立 DataFrame 复合索引
  [[column2]]

# 取指定 column 值,两者等效
dfi.loc[column0].loc[column1]
dfi.swaplevel().loc[column1]

数据科学实战路线图:从EDA到模型部署的ML工程全流程 数据科学不是算法堆砌,而是将业务问题转化为可计算任务的系统工程。其核心在于理解数据本质、构建可解释特征、验证统计假设,并最终交付可落地的决策支持。EDA(探索性数据分析)是起点,它通过数据血缘分析、缺失模式识别与业务逻辑校验,建立对数据可信度的判断;特征工程则是关键桥梁,将原始字段翻译为模型能感知的业务信号,如时间周期、风险分层与阈值分箱。Python生态,尤其是Pandas,因其异构数据整合能力与代码即思维的表达力,成为工业界事实标准。本文聚焦信贷风控、电商销量预测等真实场景,覆盖数据清洗、时序对齐、目标 阅读详情

相关推荐

数据科学求职能力转化路径:从知识学习到业务交付

数据科学不是统计学或编程的简单叠加,而是一套以问题驱动、以交付验证为核心的能力体系。其底层原理在于将业务目标(如用户流失预警、活动ROI归因)精准映射为可执行的数据动作链——涵盖SQL取数诊断、Python清洗建模、统计显著性与业务显著性的双轨评估、模型可解释性落地等关键环节。这种能力具有强工程实践属性,技术价值体现在缩短分析响应周期、提升决策可信度、支撑AB测试与自动化运营等真实场景。本文聚焦‘能力-资源-场景’三维映射方法论,结合RFM轻量化实现、SQL索引优化、本地MVP自动化部署等典型实操,帮助转行

weixin_33738578的博客 353

数据集合并

合并多个数据集组合成一个新的数据集前言代码总结 前言 最近在项目中需要将多个数据集中的数据放在一个数据集里面一起进行训练。两个数据集类别是一样的,总共有六七十类,手动复制又累又慢,所以写个程序来完成。 代码 import shutil import os source = './dataset/template_images' #需要合并的数据集 dest1 = './dataset/train' #需要合并到哪一个数据集 files = os.listdir(dest1) for f in files

weixin_42599356的博客 1771

数据科学七层武器库:从Pandas到TensorFlow的工程化工作流

数据科学不是工具堆砌,而是围绕数据生命周期构建的系统性工程。从原始数据接入、清洗与探索,到特征工程、模型训练、验证部署及持续监控,每个环节都依赖特定Python库提供的稳定接口与性能保障。NumPy作为底层计算引擎支撑着Scikit-Learn的拟合逻辑和TensorFlow的张量运算;Pandas通过dtype策略与内存优化成为千万级表格数据的事实标准;Matplotlib与Seaborn协同实现从可视化诊断到业务可解释性的跃迁。这些库共同构成AI落地的基础设施——它们不追求前沿炫技,而以可靠性、可复现性

注重长远 天天积累 cqujsjcyj 451

Python数据分析(5)数据处理:数据合并、拼接和组合

#coding=gbk #数据处理 import numpy as np import pandas as pd #合并操作 frame1=pd.DataFrame({'id':['pencil','pen','book','smug'], 'price':[12,14,23.5,66]}) print(frame1) # id pric...

mike_jun的博客 2万+

非科班转行数据科学:从业务问题到模型落地的四阶跃迁

数据科学不是编程或算法的堆砌,而是将业务问题转化为可计算、可验证、可交付的数据解决方案的能力。其核心原理在于:以真实业务场景为起点,通过数据探查、特征工程、模型评估与工程部署形成闭环;技术价值体现在降低决策不确定性、提升运营效率与量化业务收益;典型应用场景覆盖零售缺货预警、医疗设备调度、教育辍学预测、制造业故障诊断等垂直领域。尤其对财务、教育、医疗、制造等非计算机背景从业者,领域经验本身就是高阶特征工程的源泉。本文聚焦‘能跑通代码’到‘能交付结果’的关键断层,拆解真实项目驱动的学习路径与工程化补位策略。

377

ChatGPT Code Interpreter:数据科学中的实时Python沙盒工作流

探索性数据分析(EDA)是数据科学的核心起点,其本质是通过数据清洗、统计计算与可视化快速验证业务假设。传统流程依赖Jupyter环境配置、pandas语法熟练度及反复调试,而ChatGPT Code Interpreter提供了一种自然语言驱动的沙盒化Python执行环境——无需部署、自动处理编码/分隔符/类型推断,并在生成代码后即时执行、反馈结果。这种‘意图→代码→执行→可视化’闭环显著降低EDA门槛,尤其适用于销售分析、用户分群、时序异常检测等轻量级但高频的分析场景,让数据工作者聚焦于问题定义与洞察解读

weixin_30443747的博客 435

数据集的合并-merge(),cbind(),rbind()

向数据框添加列 merge() 要横向合并两个数据框,使用merge()函数。在多数情况下,两个数据框是通过一个或多个共有变量进行联结的(即一种内联结,inner join )。 total <- merge(dataframeA,dataframeB,by = "ID") 将dataframeA和dataframeB按照ID进行了合并。 total <- merge(dataframeA,dataframeB,by = c("ID","Country")) 用cbind()进行横向合并 如

weixin_42780204的博客 2304

用《Flappy Bird》游戏带你搞懂强化学习:从Q-learning到DQN的保姆级实战

本文通过《Flappy Bird》游戏实战,详细讲解了从Q-learning到DQN的强化学习技术。从环境搭建、Q表格构建到深度Q网络(DQN)的实现,逐步展示如何训练AI自主玩游戏。文章包含代码示例、训练技巧和性能优化方法,帮助读者深入理解强化学习的核心概念和应用。

weixin_42526415的博客 347

python 合并数据集_数据规整化:python 合并数据集

Pandas和python标准库提供了一组高级的、灵活的、高效的核心函数和算法,它们使你能够轻松地将数据规整化为正确的形式。1.合并数据集pandas对象中的数据可以通过一些内置的方式进行合并:n pandas.merge可根据一个或多个键将不同DataFrame中的行连接起来。SQL或其他关系型数据库的用户对此应该比较熟悉,应为它实现的就是数据库连接操作。n pandas.concat可以沿着一...

weixin_39629075的博客 532

海思ISP调优实战:从实验室到真实场景的IPC相机图像质量优化指南

本文深入探讨海思ISP调优在IPC相机图像质量优化中的实战应用,从实验室标定到真实场景部署的全链路调优方法。重点解决光照动态范围、色温变化和噪声特性等核心问题,提供AE权重表配置、CCM标定、3DNR时域滤波等关键技术方案,帮助实现从理论到实践的图像质量提升。

s3t4u的博客 751

海外跨境电商商城源码-进出口电商平台网站-多语言多商户平台

我们的海外跨境电商系统源码还包括各种功能模块,如用户管理、商品管理、订单管理等。支付管理:与主流支付平台(如Stripe、PayPal等)的集成,支持多种支付方式;订单管理:创建订单、支付订单、取消订单等操作,以及订单状态查询和历史记录;购物车管理:添加商品到购物车、查看购物车、修改购物车中的商品数量等操作;商品管理:商品信息录入、编辑、删除等操作,以及商品分类和搜索功能。客服管理:在线咨询、投诉处理等功能,提供更好的用户服务。用户管理:注册、登录、忘记密码、个人资料。# 检查电子邮件地址是否有效。

柏诣科技的博客 2663

机器学习—数据科学包(二)pandas快速入门

机器学习—数据科学包(二)pandas 所需模块 pandas matplotlib

Dandandandanta的博客 516

openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案

本文主要介绍了openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案,希望能对使用openclaw-cn的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 10万+

python_机器学习—数据科学库_DAY04&&DAY05&&DAY06

pandaspandas的常用数据类型1. Series 一维,带标签数组(1). Serise的创建(2). Series切片和索引(3). Series的索引和值(4). 读取外部数据2. DataFrame 二维,Series容器(1). DataFrame的基础属性(2). DataFrame的整体情况查询3. loc与iloc4. 布尔索引5. 字符串方法6. 缺失数据的处理 numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据

dongdZss的博客 257

【ubuntu】【VirtualBox】VirtualBox无法加载USB移动设备的解决方法(支持U盘启动盘)

提示:测试可用。

联系方式:927632640 2440

全面认识PFC和LLC

想象一下,你在拉一辆车,如果你的力气都用在推动车子前进的方向上,这样拉车会比较轻松。而如果你的力气用在不正确的方向,比如侧向、斜向,那就需要更大的力气才能推动车子。PFC就是在帮助电流“朝着正确的方向”流动,这样可以用更少的能量做更多的事情,减少无用的功率损耗。PFC负责将电流方向对齐,让电源效率更高,而LLC负责电压的高效转换,两者配合可以在更宽的负载范围内保持高效率。综上所述,PFC LLC电路是一种高效的电源转换电路,通过PFC模块和LLC模块的组合,实现了从交流电到直流电的高效转换。

weixin_43199439的博客 6105

如何免费系统化入门数据科学?

测试

weixin_42514604的博客 155

2023华为OD面试手撕真题【最长公共前缀】

2023华为OD面试手撕真题【最长公共前缀】

MISAYAONE的博客 5243

Animated Drawings 完整指南:3 条命令让儿童画跳舞,还能导出透明 GIF

当你想把孩子画的小人变成会跳舞的动画时,Animated Drawings 可以帮你:装好依赖后在 Python 里贴两行代码,纸上的人物就跟着真人动作数据动起来。它自动给人物画像标注关节,把一张静态画驱动成可播放的骨骼动画,还能导出 MP4 或透明 GIF。 ## 它解决什么问题 二维、比例失调的儿童画,传统动画流程根本没法直接绑骨骼——这是 Animated Drawings 要填的坑。你

gitblog_00855的博客 663

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

机器学习数据科学包(二)——Pandas入门

目录 二、查看数据 三、选择 四、缺失值处理 五、相关操作 六、合并 七、分组 八、重塑(Reshaping) 九、时间序列 十、Categorical 十一、画图 十二、导入和保存数据 本文对十分钟入门Pandas进行翻译详见英文版https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html...

DuBenBen的博客 565

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Python 数据分析工具包(三)

创建 Pandas 对象时,会创建一个 RangeIndex 类型的默认索引,如前所述。这种类型的索引的第一个标签值为 0(对应于 Pandas 系列或数据帧的第一项),第二个标签值为 1,后跟一个间隔为一个整数的算术级数。我们可以使用 index 参数或属性来设置定制的索引。在我们之前创建的 Series 和 DataFrame 对象中,我们只是为单个项目设置值,在 index 对象没有标签的情况下,使用默认索引(RangeIndex 类型)。

龙哥盟 868

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【机器学习基础】前置知识(四):一文掌握Pandas用法

Pandas提供快速,灵活和富于表现力的数据结构,是强大的数据分析Python库。本文收录于机器学习前置教程系列。一、Series和DataFramePandas建立在NumPy之上,更...

fengdu78的博客 647

成都python数据分析师培训_python数据分析师

企业想要在竞争激烈的市场中胜出,决策的速度和反应的效率尤为重要。根据调查显示,75%的企业在面临拟定策略时,常常无法获得实时且有根据的决策信息。什么样的数据、要透过什么样的方法,才能且实时的转变成决策时有用的信息,是现代企业所面临迫切性的问题。python数据分析师课程简介课程内容课程内容以CDA数据分析师标准大纲要求,包含Python基础 – Pandas数据清洗 - Python爬虫 - Py...

weixin_39525243的博客 385

生物技术和生命科学的机器学习(二)

通常,你将在课程和培训中遇到的许多数据科学教程都围绕监督机器学习(SML)领域展开,在该领域中,数据和相应的标签被用来开发预测模型以自动化任务。然而,在现实世界的数据中,预先标记或分类数据的可用性很少,你将遇到的多数数据集将以原始和无标签的形式存在。对于这些情况,或者主要目标是更探索性的或不是必然可自动化的,无监督机器学习的领域将非常有价值。在本章的整个过程中,我们将探讨与聚类和降维(DR)领域相关的许多方法。我们将探讨的主要主题如下:无监督学习(UL)简介理解聚类算法教程 – 通过聚类进行乳腺癌预测理解

龙哥盟 1713

组队学习3:Pandas分组(一)(基于Python)

最近事情太多(以及人太懒),好久没有空更新博客,遂报名公众号Datawhale的Pandas学习小组来督促自己学习。学习小组的目的主要是细致地学习Python中的第三方模块Pandas,该模块用于数据导入及整理的模块,对数据挖掘前期数据的处理工作十分有用。

绝对是谨慎提交的博客 471
上一篇: 机器学习-数据科学库 05 pandas 教程
下一篇: 机器学习-数据科学库 07 pandas 时间序列
eddiechen10081
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值