数据分析 007-数据清洗和准备
导入所需的库123import numpy as npimport pandas as pdfrom numpy import nan as NA
空值处理判断是否有空值12345678910s1 = pd.Series(['one', 'two', np.nan, 'four', np.nan])print(s1.isnull())'''0 False1 False2 True3 False4 Truedtype: bool'''
判断有几个空值(统计空值个数)1234print(s1.isnull().sum())'''2'''
缺失值处理删除源数据:
12345678910111213141516171819202122232425# Seriesdata = pd.Series([1,2,3,NA, 7, NA,9])print(data)'' ...
数据分析 006-数据加载和保存
安装及导入模块模块安装打开 cmd 终端,执行:
1pip install openpyxl sqlalchemy lxml pymysql
导入所需的库新建 python 文件,导入 pandas 和 numpy 模块
12import pandas as pdimport numpy as np
透视表: pd.pivot_table()测试数据:
123456789101112131415161718df = pd.DataFrame({ 'sex': list('FFMFMMF'), 'smoker': list('YNYYNYY'), 'age': [21, 20, 17, 37, 40, 18, 26], 'weight': [120, 100, 132, 140, 94, 89, 123]})print(df)''' sex smoker age weight0 F ...
数据分析 005-pandas(三)聚合和分组
导入所需的库123import numpy as npimport pandas as pdfrom numpy import nan as NaN
函数应用和映射函数映射测试数据
123456789df = pd.DataFrame(np.random.randn(4 ,3), columns=list('bde'), index=['Shenzhen', 'Beijing', 'Changsha', 'Shanghai'])print(df)''' b d eShenzhen -0.042159 1.565690 -0.371330Beijing -1.156061 -0.023265 0.858431Changsha -0.270876 1.104130 -1.328757Shanghai -0.536744 -0.919526 0.703672'' ...
kvm 系列 001-在 ubuntu 23.10 上安装 kvm
系统环境
系统版本:ubuntu 23.10 (Mantic Minotaur)
内核版本:6.5.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 7 01:35:40 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
安装准备网桥配置1.安装网桥配置工具 briege-utils:
1$ sudo apt install -y bridge-utils
2.编辑网卡配置文件 /etc/netplan/01-network-manager-all.yaml, 配置内容如下:
12345678910111213141516171819202122232425262728$ sudo cat /etc/netplan/01-network-manager-all.yaml# This file is generated from information provided by the datasource. Changes# to it will not persist across an ...
数据分析 004-pandas(二)
导入所需的库12import numpy as npimport pandas as pd
索引操作12345678df1 = pd.DataFrame(np.arange(9).reshape(3,3), index=['sh', 'cs', 'b'], columns=['a', 'b', 'c'])print(df1)''' a b csh 0 1 2cs 3 4 5b 6 7 8'''
获取索引1234print(df1.index)'''Index(['sh', 'cs', 'b'], dtype='object')'''
获取索引的值1234print(df1.index.tolist())''' ...
装 X 神器 eDEX-UI
先来看作者给出的效果图:
系统环境
系统环境:23.10 (Mantic Minotaur)
内核版本:6.5.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 7 01:35:40 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
项目部署eDEX-UI 项目地址:https://github.com/GitSquared/edex-ui
部署方式:方式一:直接使用 Release 封装好的包进行启动1.安装依赖包,否则运行 eDEX-UI 会报:dlopen(): error loading libfuse.so.2 的错误:
1sudo apt install libfuse2
2.从 eDEX-UI Release 页面下载 对应平台的包到本地(我这里是 x86_64 平台,所以直接下载 eDEX-UI-Linux-x86_64.AppImage 到本地的 ~/Downloads 目录):
3.下载完成后,赋予 eDEX-UI-Linux-x86_64.AppI ...
数据分析 003-pandas(一)
pandas 简介pandas 是基于 numpy 构建的,用于数据分析的库,提供了大量能快速便捷地处理数据的函数和方法。
pandas 提供了大量能快速便捷地处理数据的函数和方法,特别是处理时间序列的数据,它比 Python 内置的 datetimes 模块和 Numpy 更强大。
pandas 包含以下几个核心数据结构:
Series:一维数据结构,与 Numpy 中的 ndarray 类似,由一组数据以及一组与之相关的数据标签(即索引)组成。
DataFrame:二维数据结构,用类似表格的形式表示数据。
Panel:三维数据结构,可以理解为 DataFrame 的容器。
pandas 安装1pip install pandas
SeriesSeries 通常是指 Excel 中的列,一列为 一个 Series ,多个 Series 就组成了 DataFrame。
数据生成通过 numpy 的方式生成Series 生成数据时会自动生成索引(在不指定索引的情况下,默认生成位置索引,且位置从 0 开始)和数据,如下:
1234567891011121314151617181920 ...
数据分析 002-numpy(二)
数组的处理生成测试数组:
1234import numpy as nparr1 = np.arange(10).reshape(2, 5)print(arr1)
数组转置矩阵转置
1234print(arr1.T) # 转置的内容不会被保存# 等同于print(np.transpose(arr1))
数组轴对换轴的概念
常见的数组操作测试数组:
12345# 一维数组arr = np.array([7, 9, 6, 42, 9, 4, 8, 1, 2, 20])# 二维数组arr2 = np.array([[4, 5, 7, 15], [26, 33, 5, 3], [12, 6, 7, 4]])
获取数组从小到大的排序序号(索引)1print(arr.argsort())
排序一维数组正序排序
1print(arr.sort())
反序排序(它没有 python 中的那个倒叙参数)
1print(arr.sort()[::-1])
二维数组正序排序
12345print(arr2.sort())print(a ...
数据分析 001-numpy(一)
numpy 的优势当数据量达到一定级别后,numpy 的计算会比原生 Python 块。numpy 是专门处理高维苏剧计算的包
123456789101112131415161718192021import randomimport timeimport numpy as np# 原生 pythona = []for i in range(10000000000): a.append(random.random())t1 = time.time()sum1 = sum(a)t2 = time.time()# numpy b = np.array(a) # 列表转数组t3 = time.time()sum2 = np.sum(b)t4 = time.time()print(t2 - t1, t4 - t3)
特点:同类型的数据
1234567import numpy as nparr1 = np.array([3, 2,1.5,9])print(arr1)# 输出结果:[3. 2. 1.5 9. ]
numpy 的安装1pip install -y numpy
n ...
docker 之服务部署-Jenkins
系统环境
OS:kali linux 2023.03
Kernel:6.4.0-kali3-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.4.11-1kali1 (2023-08-21) x86_64 GNU/Linux
Docker:Docker version 20.10.25+dfsg1, build b82b9f3
服务部署部署前的准备1.查找 Jenkins 的镜像:
12345678910111213141516171819202122232425262728leazh@DESKTOP-VC622UG MINGW64 ~$ docker search jenkinsNAME DESCRIPTION STARS OFFICIAL AUTOMATEDjenkins DEPRECATED; use "jenkins/jenkins:lts" ...