利用python进行数据分析之——数据规整化2(ETL)

python开源的etl工具,eclat算法python 第三种方式是在计算句子概率时,不考虑重复词语出现的次数,但是在统计计算词语的概率P("词语"|S)时,却考虑重复词语的出现次数,这样的模型可以叫作混合模型。1)P(“属于某类”|“具有某特征”)=在已知某样本“具有某特征”的条件下,该样本“属于某类”的概率。所以叫做『后验概率』;如果我们考虑重复词语的情况,也就是说,重复的词语我们视为其出现多次,直接按条件独立假设的方式推导,这样的模型叫作多项式模型。2)P(“具有某特征”|“属于某类”)=在已知某样本“属于某类”的条件下,该样本“具有某特征”的概率; 阅读详情

待我学有所成,结发与蕊可好。@夏瑾墨 by Jooey

3.数据的轴向连接
Nunpy 有一个用于合并串联原始Numpy数组的concatenation函数

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

arr=np.arange(12).reshape((3,4))
print (arr)
print (np.concatenate([arr,arr],axis=1))

输出结果:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
[[ 0  1  2  3  0  1  2  3]
 [ 4  5  6  7  4  5  6  7]
 [ 8  9 10 11  8  9 10 11]]

假设有三个没有重叠索引的Series

s1=Series([0,1],index=['a','b'])
s2=Series([2,3,4],index=['c','d','e'])
s3=Series([5,6],index=['f','g'])
print (pd.concat([s1,s2,s3]))

输出结果:

a    0
b    1
c    2
d    3
e    4
f    5
g    6
dtype: int64

默认情况下,concat是在axis=0上工作的,最终产生一个新的Series。如果传入axis=1,则结果就会变成一个DataFrame(axis=1是列)

print (pd.concat([s1,s2,s3],axis=1))

输出结果:

     0    1    2
a  0.0  NaN  NaN
b  1.0  NaN  NaN
c  NaN  2.0  NaN
d  NaN  3.0  NaN
e  NaN  4.0  NaN
f  NaN  NaN  5.0
g  NaN  NaN  6.0

这种情况下,另外一条轴上没有重叠,从索引的有序并集(外连接)上就可以看出来。传入join=‘inner’即可得到它们的交集

s4=pd.concat([s1*5,s3])
print (pd.concat([s1,s4],axis=1))
print (pd.concat([s1,s4],axis=1,join='inner'))

输出结果:

     0  1
a  0.0  0
b  1.0  5
f  NaN  5
g  NaN  6
   0  1
a  0  0
b  1  5

你可以通过join_axes指定要在其它轴上使用的索引

print (pd.concat([s1,s4],axis=1,join_axes=[['a','c','b','e']]))

输出结果:

     0    1
a  0.0  0.0
c  NaN  NaN
b  1.0  5.0
e  NaN  NaN

Nan := Not A Number
有个问题,参与连接的片段在结果中区分不开。假设你想在连接轴上创建一个层次化索引。使用keys参数即可达到这个目的

result=pd.concat([s1,s2,s3],keys=['one','two','three'])
print (result)
print (result.unstack())

输出结果:

one    a    0
       b    1
two    c    2
       d    3
       e    4
three  f    5
       g    6
dtype: int64
         a    b    c    d    e    f    g
one    0.0  1.0  NaN  NaN  NaN  NaN  NaN
two    NaN  NaN  2.0  3.0  4.0  NaN  NaN
three  NaN  NaN  NaN  NaN  NaN  5.0  6.0

如果沿着axis=1对Series进行合并,则keys就会成为DataFrame的列头


print (pd.concat([s1,s2,s3],axis=1,keys=['one','two','three']))

输出结果:

   one  two  three
a    0  NaN    NaN
b    1  NaN    NaN
c  NaN    2    NaN
d  NaN    3    NaN
e  NaN    4    NaN
f  NaN  NaN      5
g  NaN  NaN      6

同样的逻辑对DataFrame对象也是一样

df5=DataFrame(np.arange(6).reshape(3,2),index=['a','b','c'],columns=['one','two'])
df6=DataFrame(5+np.arange(4).reshape(2,2),index=['a','c'],columns=['three','four'])
print (pd.concat([df5,df6],axis=1,keys=['level1','level2']))

输出结果:

  level1     level2     
     one two  three four
a      0   1      5    6
b      2   3    NaN  NaN
c      4   5      7    8

如果传入的不是列表而是一个字典,则字典的键就会被当做keys选项的值

print (pd.concat({'level1':df5,'level2':df6},axis=1))

输出结果:

  level1     level2     
     one two  three four
a      0   1      5    6
b      2   3    NaN  NaN
c      4   5      7    8

此外还有两个用于管理层次化索引创建方式的参数,见下表

print (pd.concat([df5,df6],axis=1,keys=['level1','level2'],names=['upper','lower']))

输出结果:

upper level1     level2     
lower    one two  three four
a          0   1      5    6
b          2   3    NaN  NaN
c          4   5      7    8

python3里面写函数的相关参数只需依次逗号分隔即可。
这里写图片描述
最后一个需要考虑的问题就是,跟当前分析工作无关的DataFrame行索引。传入ignore_index=True即可

df7=DataFrame(np.random.randn(3,4),columns=['a','b','c','d'])
df8=DataFrame(np.random.randn(2,3),columns=['b','d','a'])
print (df7)
print (df8)
print (pd.concat([df7,df8],ignore_index=True))

输出结果:

       a         b         c         d
0 -0.844224  0.593684  0.144469  0.729945
1  0.484216 -0.736679 -2.385474  0.004167
2 -0.007380 -0.129935 -0.014069  0.907947
          b         d         a
0 -1.377938 -0.616348  0.936278
1  0.400851  2.066192  0.127229
          a         b         c         d
0 -0.844224  0.593684  0.144469  0.729945
1  0.484216 -0.736679 -2.385474  0.004167
2 -0.007380 -0.129935 -0.014069  0.907947
3  0.936278 -1.377938       NaN -0.616348
4  0.127229  0.400851       NaN  2.066192

待我学有所成,结发与蕊可好。@夏瑾墨 by Jooey

利用python进行数据分析之——数据规整化1(ETL) 待我学有所成,结发与蕊可好。@夏瑾墨 by Jooey 合并数据集 数据库风格的DataFrame合并 索引上的合并 轴向连接 1.数据库风格的DataFrame合并import pandas as pd from pandas import Series,DataFrame#一对多 df1=DataFrame({'key':['b','b','a','c','a','a','b'],'data1' 阅读详情

相关推荐

数据分析全链路实战:MySQL+Python+BI工具组合应用指南

这类工具组合最值得关注的不是单独某个软件多强大,而是它们如何串联起来,解决从数据获取、处理到分析展示的完整链路问题。很多人学数据分析,工具学了一堆,但一到实际项目就卡壳,问题往往出在流程衔接上。FineBI和PowerBI这类敏捷BI工具,能极大提升数据清洗、建模和可视化的效率;而MySQL和Python则是处理复杂逻辑和自动化流程的利器。这套组合拳,最适合那些需要快速从原始数据中提炼业务洞察,但又不想被复杂代码和部署流程拖累的运营、产品、市场分析人员,以及希望提升效率的数据分析师。 如果你手头有Excel

weixin_30565199的博客 397

(转载)数据管道(data pipeline)与ETL管道(ETL pipeline)的区别

数据管道与ETL管道,这两个词的意义是相近的,差别比较微小,有时候很多人会混用。 ETL管道,描述的是一组进程,实现将数据从一个系统抽取出来,经过转换,最终再加载到其他数据库或数据仓库中。 数据管道,是一个比ETL管道更加通用的术语,只要是实现系统之间的数据迁移的处理过程,都可以使用这个词来代表。迁移过程中可能存在着数据转换。 ETL管道,一般描述的是在批处理中使用的管道,例如:某个管道运行...

大宇进阶之路的博客 848

点云数据采集:三维感知的第一道质量闸门

点云是物理世界最原始的三维数字化表达,其本质是空间坐标的高精度采样。理解点云采集原理,关键在于把握激光雷达、摄影测量与RGB-D三类技术路线的物理机制与适用边界——前者依赖主动测距与反射特性,后者依托纹理匹配与视角几何约束。这一过程直接决定后续配准、分割、重建等任务的性能上限,而非仅是前置步骤。工程实践中,PCD文件格式陷阱、坐标系混淆、点云密度失配及设备参数误设等‘隐形缺陷’,常导致Open3D报错、CloudCompare加载失败或建模失真。因此,面向测绘、工业检测、自动驾驶与数字孪生等真实场景,掌握采

weixin_34221073的博客 526

PythonETL课程笔记

logger.info(f"从数据源:{pc.source_db_name}库,读取表:{pc.source.barcode_data_table_name}",f"当前写入目标表:{conf.target_barcode_table_name}数据有:{count}行")logger.errot(":数据源库:{pc.source_db_name}中不存在数据源表:{pc.source_barcode_data_table_name},"f"无法采集,程序退出,请找人要去")

weixin_42174826的博客 1364

用于ETL的Python数据转换工具详解

主要介绍了用于ETL的Python数据转换工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

基于51单片机的通讯聊天系统

通过编写51单片机通讯聊天程序,掌握51单片机的各个模块的知识点和运用C语言编写51单片机的能力。用51单片机与口袋开发板设计实现一个单片机与电脑串口助手实现通讯功能的程序。程序的主要功能如下: 1 OLED初始化显示Welcome to Bluetooth communication! 字符串。 2 程序开始时处于接收信息模式, 电脑串口助手发送信息时,将从初始化字符第一个开始显示,电脑串口助手发送信息后,蜂鸣器响铃2秒左右。 3 每次同时按下左右键时,可以轮流切换接收/发送信息模式 4 在发送信息模式时

m0_47419053的博客 3638

基于python脚本的大数据处理【ETL】

通过python脚本语言,从大量日志文件中提取需要的数据,进行整合拼接处理,转换为需要的数据格式

一个平凡的技术热爱者 874

Linux显卡管理避坑指南:为什么Xorg总是占用你的NVIDIA GPU?

本文深入解析了在Linux系统上,尤其是双显卡笔记本中,Xorg显示服务器进程占用NVIDIA GPU的根本原因。文章从Xorg的驱动加载机制和NVIDIA驱动的独占性入手,详细对比了禁用配置文件、手动配置xorg.conf、使用官方PRIME方案以及切换到Wayland等主流解决方案的优缺点与适用场景,旨在帮助用户有效释放GPU资源,确保深度学习、游戏等计算任务能独占显卡性能。

xgboost6farmer的博客 267

【亲测免费】 探索高效数据处理:PyETL - Python中的ETL神器

探索高效数据处理:PyETL - Python中的ETL神器 是一个强大的Python库,专门用于数据提取、转换和加载(ETL)操作。在大数据时代,数据处理是不可或缺的部分,而PyETL提供了简洁、高效的解决方案,使得开发者可以更专注于业务逻辑,而非底层数据处理的复杂性。 项目简介 PyETL 是一个轻量级但功能丰富的ETL工具包,它允许开发人员以Pythonic的方式执行各种数据预处理任务。通过...

gitblog_00036的博客 1744

skill使用教程,从小白到大神进阶

(2)突然无法使用(NodeJS安装参考):如果正常使用中,突然发现claude命令无法启动claude-code了,可能是claude-code正在后台自动更新,等待几分钟后再尝试使用,如果还是不行,请先运行下列代码移除claude-code,注意,如果你的node安装目录不同,要替换成自己的安装目录:rm -rf /opt/homebrew/lib/node_modules/@anthropic-ai/claude-code。安装完成后,让我们启动 Claude Code,看看它长什么样。

weixin_45036829的博客 2009

SPWM波调制度原理

SPWM波调制度原理

qq_43557686的博客 1万+

利用python进行数据分析原书第2版_10本书,从Python小白进阶数据分析、人工智能大神(建议收藏)...

导读:情人节要来了,宅在家里怎么过?读书啊!只要你读的书够硬核,颜如玉会在疫情终结的那一刻敲你的门……听上去有点吓人?好吧,老朋友们一定知道,数据叔的独门绝技就是能把各种节日都过成世界读书日。这个漫长的冬天不太一样,我们就用特别的方式渡过——以“读”攻毒。趁着打折,数据叔再隆重推荐一下这10本关于Python的书,助你在闭关修炼的日子里修炼出最硬核的技能。这3本书讲编程,Python语言从入门到精...

weixin_39563420的博客 498

技术前沿:半导体前道检测和量测设备修复技术

半导体前道检测设备是目前除光刻机外,国产渗透率较低的环节之一,近年来我国初步实现国产突破。前道检测相对后道检测环节壁垒更高,国内多家涉及后道测试,涉及前道检测和中道检测相对较少。

VOMMA的博客 4541

新功能:日志服务命令行工具ETL发布!

背景 使用日志服务,在搜索、分析时是否经常遇到以下数据格式规整的痛点? 1. 采集时ETL的痛点: 交换机、服务器、容器、Logging模块等,通过文件、标准输出、syslog、网络等途径收集时,里面是各种日志格式的混合,只能做部分提取,例如使用logtail先提取某些基础字段,例如时间、log level、IP等,但是日志主体message中很多...

测试0901-1 440

避坑指南:解决‘Logical volume contains a filesystem in use’错误,顺利完成LVM根目录扩容

本文详细解析了Linux系统中LVM根目录扩容时遇到的‘Logical volume contains a filesystem in use’错误,提供了从错误诊断到实战解决方案的完整指南。通过动态扩容技术、单用户模式操作和LVM快照等方案,帮助管理员顺利完成根目录扩容,避免数据丢失和系统崩溃。

weixin_28702105的博客 227

PyTorch深度学习实战(25)——从零开始实现Mask R-CNN实例分割

Mask R-CNN 是一种在目标检测任务中引入了语义分割的强大框架,通过在 Faster R-CNN 基础上进行扩展,添加了额外的分支网络,不仅可以准确地检测对象的位置和类别,还可以生成每个实例的精确像素级别的语义分割掩码。其模块化的设计可以轻松地应用于不同的任务和数据集,并且可以通过添加更多的分支进行功能扩展,如实例关键点检测等。

盼小辉丶的博客 1万+

利用python进行数据分析 原书第2版_收藏 | 10本书,从Python小白进阶数据分析、AI大神...

来源:大数据本文多资源,建议收藏。从语言入门,到数据分析、人工智能领域的实战,助你早日成为大神![ 导读 ]各种版本的语言排行榜里,涨势迅猛的Python总能制造各种话题。在数据分析、AI等当前热门领域的广泛应用,让Python程序员成为稀缺人才。都说程序员发际线堪忧,今天小编就推荐10本让人头冷的Python书。从语言入门,到数据分析、人工智能领域的实战全都有了,助你早日成为大神!这3...

weixin_39782394的博客 188

高频电磁场仿真-主题064-伴随变量法与灵敏度分析

在电磁器件优化设计中,梯度信息对于指导优化方向至关重要。考虑一个典型的电磁优化问题: 其中 p=[p1,p2,...,pn]Tp = [p_1, p_2, ..., p_n]^Tp=[p1​,p2​,...,pn​]T 是设计参数向量(如几何尺寸、材料参数等)。传统有限差分法的困境:示例: 一个具有100个设计参数的天线优化问题伴随变量法(Adjoint Variable Method, AVM)通过引入伴随场,将梯度计算复杂度从 O(n)O(n)O(n) 降低到 O(1)O(1)O(1):伴随变量法在计算

kkchenjj的博客 410

10本书,从Python小白进阶数据分析、人工智能大神(建议收藏)

导读:各种版本的语言排行榜里,涨势迅猛的Python总能制造各种话题。在数据分析、AI等当前热门领域的广泛应用,让Python程序员成为稀缺人才。都说程序员发际线堪忧,今...

大数据 3482

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python系列直播——深入Python与日志服务,玩转大规模数据分析处理实战 ...

第一讲——使用IPython/Jupyter Notebook与日志服务玩转超大规模数据分析与可视化 直播时间: 2月21日(周四)20:00—21:00 直播介绍: IPython/Jupyter Notebook非常流行,但随着数据量越来越大(例如几百亿条电商平台访问日志),如何继续保持灵活的交互式分析,是一个挑战。阿里云日志服务作为阿里商业操作...

weixin_34150830的博客 247

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

利用python进行数据分析 原书第2版_福利!10本书,从Python小白进阶数据分析、人工智能大神(建议收藏)...

导读:各种版本的语言排行榜里,涨势迅猛的Python总能制造各种话题。在数据分析、AI等当前热门领域的广泛应用,让Python程序员成为稀缺人才。都说程序员发际线堪忧,今天站长给大家推荐10本让人头冷的Python书。从语言入门,到数据分析、人工智能领域的实战全都有了,助你早日成为大神!今天是1024程序员节,不可错过福利哦!这3本书讲编程,Python语言从入门到精通:1《Python...

weixin_39847556的博客 195

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python赋能数据分析从数据清洗到可视化的完整实战指南

在开始分析之前,需要搭建合适的Python环境。推荐使用Anaconda发行版,它集成了数据分析所需的众多核心库。我们将主要依赖以下几个库:Pandas用于数据处理和清洗,NumPy提供高效的数值计算,Matplotlib和Seaborn则是数据可视化的利器。通过pip或conda命令即可轻松安装这些库。从数据清洗到可视化,Python提供了一条高效、强大的数据分析路径。掌握Pandas的数据处理能力和Seaborn、Matplotlib的可视化技巧,足以应对大多数数据分析任务。

tGyvbiUP的博客 440

编程和大数据,哪个前景好?大数据常用技术有哪些?

想转IT方向,选择编程前景好还是大数据? 今天我们就来看一位专业人士对于编程和大数据的解读。 从就业而言,大数据和编程并不是什么冲突的岗位,而事实上大数据岗位也对编程能力也有不低的要求。通常我们所说的大数据工程师, 普遍指的是Hadoop生态系的开发者。 随着时间推移,大数据行业也经过了很多的变化,现在的热点也已经由大数据转向了AI,而大数据行业进入了一个相对平稳的发展期。其实也很容易理...

李旭的博客 2232

【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲 ...

流畅的Python数据处理及大数据处理ETL Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战 直播讲师:丁来强(成喆)——阿里高级技术专家,从事阿里云日志服务相关的产品与研发工作,擅长AIOps/SecOps的大数据分析平台构建与场景落地,擅长C++与Python语言等。PyCon历届讲师,曾经在中国PyCon2015、...

测试0901-1 196

收藏 | 10本书,从Python小白进阶数据分析、人工智能大神

来源:大数据本文多资源,建议收藏。从语言入门,到数据分析、人工智能领域的实战,助你早日成为大神![ 导读 ]各种版本的语言排行榜里,涨势迅猛的Python总能制造各种话题...

THU数据派 500
上一篇: 利用python进行数据分析之——数据规整化1(ETL)
下一篇: Python字典转Json并使用多种格式实现
Jooey_Zhong
博客等级 码龄11年 66粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值