pandas统计分析(下)——数据格式化、分组统计

2023-11-03

数据格式化

在数据处理以后需要对数据进行格式化,以增加数据的可读性。

设置小数位数

主要使用round函数实现四舍五入,decimals参数用于设置保留小数的位数。

round(decimals=0, *args, **kwargs)
  • decimals:每一列四舍五入的小数位数,整型、字典或Series对象。如果是整数,则将每一列四舍五入到相同的位置。否则,将字典和Series舍入到可变数目的位置;小数是类似于字典的,那么列名应该在键中;如果小数是级数,列名应该在索引中。没有包含在小数中的任何列都将保持原样。非输入列的小数元素将被忽略。
  • *args:附加的关键字参数
  • **kwargs:附加的关键字参数
  • 返回值:返回DataFrame对象。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random([5,5]),
                 columns = ['A1','A2','A3','A4','A5'])
print(df.round(2))#保留小数点后两位
#A1列保留小数点后一位,A2列保留两位
print(df.round({'A1':1,'A2':2}))
s1 =pd.Series([1,0,2],index = ['A1','A2','A3'])
#设置Series对象小数位数
print(df.round(s1))
   A1    A2    A3    A4    A5
0  0.85  0.95  0.39  0.18  0.09
1  0.75  0.06  0.89  0.61  0.77
2  0.55  0.19  0.90  0.16  0.91
3  0.95  0.87  0.44  0.30  0.14
4  0.82  0.82  0.61  0.58  0.80
    A1    A2        A3        A4        A5
0  0.8  0.95  0.386624  0.177894  0.085553
1  0.7  0.06  0.891726  0.607675  0.767936
2  0.5  0.19  0.904267  0.156154  0.910458
3  0.9  0.87  0.437880  0.295522  0.138203
4  0.8  0.82  0.614968  0.579653  0.802364
    A1   A2    A3        A4        A5
0  0.8  1.0  0.39  0.177894  0.085553
1  0.7  0.0  0.89  0.607675  0.767936
2  0.5  0.0  0.90  0.156154  0.910458
3  0.9  1.0  0.44  0.295522  0.138203
4  0.8  1.0  0.61  0.579653  0.802364
#保留小数位也可以用自定义函数
df.applymap(lambda x:'%.2f'%x)

notice:经过自定义函数处理过的数据不再是浮点型,而是对象型,后续计算需要数据,则应先进行类型转换。

设置百分比

可以使用apply()函数和format函数设置百分比,将浮点型小数转换成待指定小数位数的百分比数据。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random([5,5]),
                 columns = ['A1','A2','A3','A4','A5'])
#整列保留0位小数
df['百分比']= df['A1'].apply(lambda x:format(x,'.0%'))
print(df)
#整列保留两位小数
df['百分比'] = df['A1'].apply(lambda x:format(x,'.2%'))
print(df)
#使用map函数整列保留0位小数
df['百分比'] = df['A1'].map(lambda x:'{:.0%}'.format(x))
print(df)
        A1        A2        A3        A4        A5  百分比
0  0.757924  0.554116  0.289314  0.405738  0.971056  76%
1  0.381371  0.231832  0.960639  0.567997  0.957563  38%
2  0.533128  0.041719  0.780189  0.904583  0.803020  53%
3  0.590224  0.514953  0.322249  0.720569  0.839565  59%
4  0.400369  0.928340  0.116352  0.329837  0.894554  40%
         A1        A2        A3        A4        A5     百分比
0  0.757924  0.554116  0.289314  0.405738  0.971056  75.79%
1  0.381371  0.231832  0.960639  0.567997  0.957563  38.14%
2  0.533128  0.041719  0.780189  0.904583  0.803020  53.31%
3  0.590224  0.514953  0.322249  0.720569  0.839565  59.02%
4  0.400369  0.928340  0.116352  0.329837  0.894554  40.04%
         A1        A2        A3        A4        A5  百分比
0  0.757924  0.554116  0.289314  0.405738  0.971056  76%
1  0.381371  0.231832  0.960639  0.567997  0.957563  38%
2  0.533128  0.041719  0.780189  0.904583  0.803020  53%
3  0.590224  0.514953  0.322249  0.720569  0.839565  59%
4  0.400369  0.928340  0.116352  0.329837  0.894554  40%

设置千分位分隔符

有时需要将数据格式化为带千分位分隔符的数据,处理后的数据不再是浮点型,而是对象型。

import pandas as pd
data = [['a','1',4564789456],['b','2',6879451365]]
df = pd.DataFrame(data = data)
df[2] = df[2].apply(lambda x:format(int(x),','))
print(df)
   0  1              2
0  a  1  4,564,789,456
1  b  2  6,879,451,365

数据分组统计

主要使用groupby进行分组

分组统计groupby函数

对数据进行分组统计,主要是用DataFrame中的groupby函数,主要功能为:

  • 根据给定的条件将数据拆分成组
  • 每个组都可以独立应用函数(如sum、mean等)
  • 将结果合并到一个数据结构中。

groupby函数用于将数据按照一列或多列进行分组,一般与计算函数结合使用,从而对数据进行分组。

groupby(by=None, axis=0, level=None, as_index: 'bool' = True, sort: 'bool' = True, group_keys: 'bool' = True, squeeze: 'bool' = <object object at 0x00000137FB730660>, observed: 'bool' = False, dropna: 'bool' = True)

参数说明:

  • by:映射、字典或Series对象、数组、标签或标签列表。如果by是函数,则对象索引的每个值 都调用这个函数;如果是字典或Series对象,则使用该字典或seri对象值进行分组;如果是ndarray,则按原样使用这些值来确定组。
  • axis:axis = 1表示行,axis = 0表示列,默认为0.
  • level:表示索引层级,默认为None
  • as_index:布尔型,默认为True,返回以组标签为索引的对象
  • sort:对组进行排序,布尔型,默认是True
  • group_keys:布尔型,默认值为True,调用apply函数时,将分组的键添加到索引以标识片段
  • squeeze:布尔型,默认值为false。如果可能,减少返回类型的维度,否则返回一致类型。
  • 返回值:返回DataFramegroupby,返回包含有关组的信息的groupby对象。
按照一列分组统计
import pandas as pd
df = pd.read_csv('MR/Code/04/15/JD.csv',encoding= 'gbk')
#抽取数据
df1 = df[['一级分类','7天点击量','订单预定']]
#分组统计求和
df1.groupby('一级分类').sum()
7天点击量 订单预定
一级分类
数据库 186 15
移动开发 261 7
编程语言与程序设计 4280 192
网页制作/Web技术 345 15
按照多列分组统计
import pandas as pd
df = pd.read_csv('MR/Code/04/15/JD.csv',encoding= 'gbk')
#抽取数据
df1 = df[['一级分类','二级分类','7天点击量','订单预定']]

#分组统计求和
df1.groupby(['一级分类','二级分类']).sum()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i1WuFFfr-1650631191621)(C:\Users\85289\AppData\Roaming\Typora\typora-user-images\image-20220419174638908.png)]

分组并按指定列进行数据计算
import pandas as pd
df = pd.read_csv('MR/Code/04/15/JD.csv',encoding= 'gbk')
#抽取数据
df1 = df[['一级分类','二级分类','7天点击量','订单预定']]

#分组统计求和
df1.groupby('二级分类')['7天点击量'].sum()
二级分类
ASP.NET           87
Android          261
C#               314
C++/C语言          724
HTML             188
JSP/JavaWeb      157
Java             408
JavaScript       100
Oracle            58
PHP              113
Python          2449
SQL              128
Visual Basic      28
WEB前端             57
Name: 7天点击量, dtype: int64

对分组数据进行迭代

通过for循环对分组统计数据进行迭代(遍历分组数据)

#抽取数据
df = pd.read_csv('MR/Code/04/15/JD.csv',encoding= 'gbk')
df1 = df[['一级分类','7天点击量','订单预定']]
for name,group in df1.groupby('一级分类'):
    print(name)
    print(group)
数据库
   一级分类  7天点击量  订单预定
25  数据库     58     2
27  数据库    128    13
移动开发
    一级分类  7天点击量  订单预定
10  移动开发     85     4
19  移动开发     32     1
24  移动开发     85     2
28  移动开发     59     0
编程语言与程序设计
         一级分类  7天点击量  订单预定
0   编程语言与程序设计     35     1
1   编程语言与程序设计     49     0
2   编程语言与程序设计     51     2
3   编程语言与程序设计     64     1
4   编程语言与程序设计     26     0
5   编程语言与程序设计     60     1
6   编程语言与程序设计    227    11
8   编程语言与程序设计    122     3
9   编程语言与程序设计    111     5
11  编程语言与程序设计    165     5
12  编程语言与程序设计    131     1
13  编程语言与程序设计    149    10
15  编程语言与程序设计   1139    79
16  编程语言与程序设计    125     1
18  编程语言与程序设计    149     4
20  编程语言与程序设计     52     1
21  编程语言与程序设计    597    25
22  编程语言与程序设计    474    15
23  编程语言与程序设计     83     3
26  编程语言与程序设计    132     8
29  编程语言与程序设计     27     2
30  编程语言与程序设计    239    13
31  编程语言与程序设计     45     1
32  编程语言与程序设计     28     0
网页制作/Web技术
          一级分类  7天点击量  订单预定
7   网页制作/Web技术    100     7
14  网页制作/Web技术    188     8
17  网页制作/Web技术     57     0

notice:name是groupby函数中’一级分类‘的值,group是分组后的数据。如果groupby函数对多列进行分组,那么需要在for循环中指定多列。

迭代两级分类的订单数据
#抽取数据
df = pd.read_csv('MR/Code/04/15/JD.csv',encoding= 'gbk')
df2 = df[['一级分类','二级分类','7天点击量','订单预定']]
for (key1,key2),group in df2.groupby(['一级分类','二级分类']):
    print(key1,key2)
    print(group)
数据库 Oracle
   一级分类    二级分类  7天点击量  订单预定
25  数据库  Oracle     58     2
数据库 SQL
   一级分类 二级分类  7天点击量  订单预定
27  数据库  SQL    128    13
移动开发 Android
    一级分类     二级分类  7天点击量  订单预定
10  移动开发  Android     85     4
19  移动开发  Android     32     1
24  移动开发  Android     85     2
28  移动开发  Android     59     0
编程语言与程序设计 ASP.NET
         一级分类     二级分类  7天点击量  订单预定
0   编程语言与程序设计  ASP.NET     35     1
20  编程语言与程序设计  ASP.NET     52     1
编程语言与程序设计 C#
         一级分类 二级分类  7天点击量  订单预定
5   编程语言与程序设计   C#     60     1
8   编程语言与程序设计   C#    122     3
26  编程语言与程序设计   C#    132     8
编程语言与程序设计 C++/C语言
         一级分类     二级分类  7天点击量  订单预定
6   编程语言与程序设计  C++/C语言    227    11
9   编程语言与程序设计  C++/C语言    111     5
11  编程语言与程序设计  C++/C语言    165     5
18  编程语言与程序设计  C++/C语言    149     4
29  编程语言与程序设计  C++/C语言     27     2
31  编程语言与程序设计  C++/C语言     45     1
编程语言与程序设计 JSP/JavaWeb
         一级分类         二级分类  7天点击量  订单预定
4   编程语言与程序设计  JSP/JavaWeb     26     0
12  编程语言与程序设计  JSP/JavaWeb    131     1
编程语言与程序设计 Java
         一级分类  二级分类  7天点击量  订单预定
2   编程语言与程序设计  Java     51     2
13  编程语言与程序设计  Java    149    10
16  编程语言与程序设计  Java    125     1
23  编程语言与程序设计  Java     83     3
编程语言与程序设计 PHP
        一级分类 二级分类  7天点击量  订单预定
1  编程语言与程序设计  PHP     49     0
3  编程语言与程序设计  PHP     64     1
编程语言与程序设计 Python
         一级分类    二级分类  7天点击量  订单预定
15  编程语言与程序设计  Python   1139    79
21  编程语言与程序设计  Python    597    25
22  编程语言与程序设计  Python    474    15
30  编程语言与程序设计  Python    239    13
编程语言与程序设计 Visual Basic
         一级分类          二级分类  7天点击量  订单预定
32  编程语言与程序设计  Visual Basic     28     0
网页制作/Web技术 HTML
          一级分类  二级分类  7天点击量  订单预定
14  网页制作/Web技术  HTML    188     8
网页制作/Web技术 JavaScript
         一级分类        二级分类  7天点击量  订单预定
7  网页制作/Web技术  JavaScript    100     7
网页制作/Web技术 WEB前端
          一级分类   二级分类  7天点击量  订单预定
17  网页制作/Web技术  WEB前端     57     0

对分组的某列或多列使用聚合函数(agg函数)

python也可以实现像sql中的分组聚合运算操作,主要通过groupby函数和agg函数。

print(df1.groupby('一级分类').agg(['mean','sum']))
                 7天点击量        订单预定     
                  mean   sum  mean  sum
一级分类                                   
数据库          93.000000   186  7.50   15
移动开发         65.250000   261  1.75    7
编程语言与程序设计   178.333333  4280  8.00  192
网页制作/Web技术  115.000000   345  5.00   15
针对不同的列使用不同聚合函数
print(df1.groupby('一级分类').agg({'7天点击量':['mean','sum'],
                               '订单预定':['sum']}))
                 7天点击量       订单预定
                  mean   sum  sum
一级分类                             
数据库          93.000000   186   15
移动开发         65.250000   261    7
编程语言与程序设计   178.333333  4280  192
网页制作/Web技术  115.000000   345   15
通过自定义函数来分组统计
df = pd.read_excel('MR/Code/04/22/1月.xlsx')#导入excel文件
#x是“宝贝标题 ”对应的列
#value_count()函数用于Series对象中的每个值进行计数并且排序
pd.set_option('display.unicode.east_asian_width',True)
max1 = lambda x:x.value_counts(dropna = False).index[0]
df1 = df.agg({'宝贝标题':[max1],
             '数量':['sum','mean'],
             '买家实际支付金额':['sum','mean']})
print(df1)
                宝贝标题   数量  买家实际支付金额
<lambda>  零基础学Python    NaN               NaN
sum                  NaN  53.00         2528.5600
mean                 NaN   1.06           50.5712
可以通过设置max1.__name__ = '购买次数最多'解决<lambda>

通过字典和Series对象进行分组统计

通过字典简历对应关系,然后将字典传递给groupby函数即可实现数据分组统计

df = pd.read_csv('MR/Code/04/23/JD.csv',encoding='gbk')
df = df.set_index(['商品名称'])
dict1 = {'北京出库销量':'北上广','上海出库销量':'北上广',
        '广州出库销量':'北上广','成都出库销量':'成都',
        '武汉出库销量':'武汉','西安出库销量':'西安'}
df1 = df.groupby(dict1,axis = 1).sum()
print(df1)

                                  北上广  成都  武汉  西安
商品名称                                                  
零基础学Python(全彩版)            1991   284   246   152
Python从入门到项目实践(全彩版)     798   113    92    63
Python项目开发案例集锦(全彩版)     640   115    88    57
Python编程锦囊(全彩版)             457    85    65    47
零基础学C语言(全彩版)              364    82    63    40
SQL即查即用(全彩版)                305    29    25    40
零基础学Java(全彩版)               238    48    43    29
零基础学C++(全彩版)                223    53    35    23
零基础学C#(全彩版)                 146    27    16     7
C#项目开发实战入门(全彩版)         135    18    22    12

通过Series对象进行分组统计与字典方法类似。

data = {'北京出库销量':'北上广','上海出库销量':'北上广',
        '广州出库销量':'北上广','成都出库销量':'成都',
        '武汉出库销量':'武汉','西安出库销量':'西安'}
s1 = pd.Series(data)
print(s1)
df1 = df.groupby(s1,axis=1).sum()
print(df1)
北京出库销量    北上广
上海出库销量    北上广
广州出库销量    北上广
成都出库销量      成都
武汉出库销量      武汉
西安出库销量      西安
dtype: object
                                  北上广  成都  武汉  西安
商品名称                                                  
零基础学Python(全彩版)            1991   284   246   152
Python从入门到项目实践(全彩版)     798   113    92    63
Python项目开发案例集锦(全彩版)     640   115    88    57
Python编程锦囊(全彩版)             457    85    65    47
零基础学C语言(全彩版)              364    82    63    40
SQL即查即用(全彩版)                305    29    25    40
零基础学Java(全彩版)               238    48    43    29
零基础学C++(全彩版)                223    53    35    23
零基础学C#(全彩版)                 146    27    16     7
C#项目开发实战入门(全彩版)         135    18    22    12

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas统计分析(下)——数据格式化、分组统计 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • 操作数无法与形状 (128,) (0,) 错误一起广播

    我正在尝试实现面部识别登录系统 但出现错误 操作数无法与形状 128 0 一起广播 我不知道什么或如何解决它 这是我已实现的 view py 和 FaceDetector py 以及我从服务器收到的错误 errors Traceback m
  • Python Nose 导入错误

    我似乎无法理解鼻子测试框架 https nose readthedocs org en latest 识别文件结构中测试脚本下方的模块 我已经设置了演示该问题的最简单的示例 下面我会解释一下 这是包文件结构 init py foo py t
  • Spark MLlib - 训练隐式警告

    我在使用时不断看到这些警告trainImplicit WARN TaskSetManager Stage 246 contains a task of very large size 208 KB The maximum recommend
  • Python 在 chroot 中运行时出现错误

    我尝试在 chroot 中运行一些 Python 程序 但出现以下错误 Could not find platform independent libraries
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • 为什么 tkinter / window.update 在我的程序中随着时间的推移变得更慢?

    我发现当我调用 window update 时 当向窗口写入的内容较少时 它的运行速度会更快 但后来 当我向窗口写入更多元素时 window update 需要更长的时间 请参阅下面的我的代码 您可以看到它在更新窗口之前一次向屏幕 100
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • Python,将迭代函数变成递归函数

    我创建了一个输出 4 3 2 1 0 1 2 3 4 的迭代函数 def bounce2 n s n for i in range n print n n n 1 if n lt 0 for i in range s 1 print n n
  • 为什么我的scoped_session 引发 AttributeError: 'Session' object has no attribute 'remove'

    我正在尝试建立一个系统 将数据库操作优雅地推迟到单独的线程 以避免在 Twisted 回调期间发生阻塞 到目前为止 这是我的方法 from contextlib import contextmanager from sqlalchemy i
  • 在 Flask (WSGI) 中使用全局单例,我是否需要担心竞争条件? [复制]

    这个问题在这里已经有答案了 Flask 的 hello world 演示是 from flask import Flask app Flask name app route def hello return Hello World if n
  • 如何对这个 Flask 应用程序进行单元测试?

    我有一个 Flask 应用程序 它使用 Flask Restless 来提供 API 我刚刚写了一些身份验证来检查 如果消费者主机被识别 该请求包含一个哈希值 通过加密 POST 的请求内容和 GET 的 URL 以及秘密 API 密钥来计
  • Python 视频框架

    我正在寻找一个 Python 框架 它将使我能够播放视频并在该视频上绘图 用于标记目的 我尝试过 Pyglet 但这似乎效果不是特别好 在现有视频上绘图时 会出现闪烁 即使使用双缓冲和所有这些好东西 而且似乎没有办法在每帧回调期间获取视频中
  • 如何在 Python 中从 HTML 页面中提取 URL [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须用Python 编写一个网络爬
  • smooth_idf 是多余的吗?

    The scikit learn 文档 http scikit learn org stable modules generated sklearn feature extraction text TfidfTransformer html
  • numpy.cov() 返回意外的输出

    我有一个 X 数据集 有 9 个特征和 683 行 683x9 我想获取这个 X 数据集和另一个与 X 具有相同形状的数据集的协方差矩阵 我使用np cov originalData generatedData rowvar False 代
  • 如何设置 matplotlib 表中列的背景颜色

    我在一个目录中有多个 txt 文件 例如 d memdump 0 txt 1 txt 10 txt 示例文本文件如下 Applications Memory Usage kB Uptime 7857410 Realtime 7857410
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • issubclass() 对从不同路径导入的同一类返回 False

    目的是实现某种插件框架 其中插件是同一基类 即 A 的子类 即 B 基类使用标准导入加载 而子类使用 imp load module 从众所周知的包 即 pkg 的路径加载 pkg init py mod1 py class A mod2
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D

随机推荐

  • go mod tidy报错 unknown revision

    或者是如下报错 fatal could not read Username for https xxx terminal prompts disabled Confirm the import path was entered correc
  • 数学建模写作指导20篇(二)-数学建模论文写作通用模板

    一 摘要 内容 1 用 1 2 句话说明原问题中要解决的问题 2 建立了什么模型 在数学上属于什么类型 建模的思想 思路 模型特点 3 算法思想 求解思路 特色 4 主要结果 数值结果 结论 回答题目的全部 问题 5 模型优点 结果检验 模
  • 使用hexo搭建个人博客 在Github上一键部署

    文章目录 一 初步搭建本地Hexo博客 1 安装 安装前提 安装 Hexo 2 建站 生成项目 运行项目 二 更换博客主题 hexo theme matery 1 下载 2 更换主题 3 更换中文 4 修改主题项中的配置 新建分类 cate
  • 结合融云 WebSDK 了解 WebSocket 基本原理

    结合融云 WebSDK 了解 WebSocket 基本原理 近期使用融云开发聊天页面 通过抓包 发现融云 SDK 使用 WebSocket 实现与服务端通讯 因此简单了解 WebSocket 的实现原理 融云 SDK 文档 https do
  • Ranking-Based Siamese Visual Tracking(基于排序的暹罗视觉跟踪)-CVPR2022

    摘要 目前基于暹罗的跟踪器主要将视觉跟踪分为两个独立的子任务 包括分类和定位 它们通过单独处理每个样本来学习分类子网络 忽略了正负样本之间的关系 此外 这样的跟踪范例仅采用用于最终预测的建议的分类置信度 这可能产生分类和定位之间的不对准 为
  • go语言-计算哈希值

    通过计算获取哈希值 func b Block SetHash timestamp byte strconv FormatInt b Timestamp 10 headers bytes Join byte b PrevBlockHash b
  • 【数据恢复方法】误删了Word文档如何恢复?

    在日常工作生活中 我们要经常用到Word文档 除了自己编辑内容之外 还可以借助它来传输数据 但是有时会手残不小心删除Word文档 造成数据丢失 这时大抵心情都是慌的 其实 Word文档恢复并不难 通常在还没有清空回收站的情况下 可以在回收站
  • 云原生爱好者周刊:Fluentbit Operator 正式成为 Fluent 子项目

    云原生一周动态要闻 Fluentbit Operator 正式成为 Fluent 子项目 Kubernetes 1 22 发布 Rust Cloud Native 组织成立 CNCF 宣布 Grafana Labs 升级为白金会员 Link
  • Java笔记20——Number & Math 类

    前言 一般当我们需要使用数字的时候 我们通常会使用内置的数据类型 如 byte int long double等等 那么我们Java中有两个和数字有关的类 它们分别是Number Math类 这篇博客给大家介绍它们 Number类 所有的包
  • springboot + mybatis + druid + 多数据源

    一 简介 俩个数据库db1 db2 db1数据库的mapper xml和db2数据库的mapper xml分别放到不同的目录下 通过给不同的目录配置不同的数据源 并分别监控各自的事务 已有新版方案 Mybatis Plus整合多数据源和读写
  • list容器

    1 list容器简介 链表是以中物理存储单元上的非连续 非顺序的存储结构 数据元素的逻辑顺序都是通过链表中的指针连接次序实现的 链表由一系列的结点 链表中每一个元素被称为结点 组成 结点可以在运行时动态生成 每一个结点包括两部分组成 一部分
  • PLSQL Developer连接数据库报错ora-12514解决

    PLSQL Developer连接数据库报错ora 12514解决 就这个错误纠结了好几天了 现在已经完美解决 现在把具体解决思路及方法记录下来 希望能够帮助更多像我这样纠结的人 高手大神们跳过 不多说废话 开始 外链图片转存失败 源站可能
  • 什么是CDN?CDN的原理和作用是什么?

    一 什么是CDN CDN全称Content Delivery Network 即内容分发网络 CDN是Content Delivery Network 内容分发网络 的缩写 是一种利用分布式节点技术 在全球部署服务器 即时地将网站 应用 视
  • 关系数据库

    关系 关系 描述实现事物的一张二维表 外码 关系A中的一组非主属性 其与关系B的主属性对应 则称关系A这组属性为A的外码 关系A为参照关系 关系B为被参照关系 关系完整性 实体完整性 主属性不能取空值 主属性应具有唯一区分性 参照完整性 外
  • 区块链入门系列之共识算法

    区块链入门系列文章 区块链基本概念和名词解释 P2P 共识算法 梅克尔 帕特里夏树 从零开始搭建区块链 这里写自定义目录标题 区块链入门系列文章 前言 POW POS PBFT Raft 其他共识算法 前言 前文已经说过 区块链从本质上来说
  • task1

    Task1 伯努利模型 P X 1 p P X 0 1 p 三要素 1 极大似然估计 模型 伯努利模型 策略 经验风险最小化 极大似然估计 等价于当模型是条件概率分布 损失函数是对数损失函数时的经验风险最小化 算法 极大化似然 P X p
  • MySQL的存储过程

    存储过程是组为了完成特定功能的SQL语句集合 存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来 这个过程经编译和优化后存储在数据库服务器中 当需要使用该存储过程时 只需要调用它即可 存储过程在执行上
  • linux多节点zookeeper(不限于zookeeper)批量调起(举例,问题排查)

    小脚本 废话不多说直接来 bin bash flag 1 DfsOrAll 2 启动zookeeper 这里 hadoop01 hadoop02 hadoop03 都是节点别名 取代ip地址 可在 etc hosts配置 for i in
  • 翻转的卡片

    前言 第二篇 CodingStartup起码课 的视频练习 这几天都在看他的视频 然后跟着做出效果来 HTML CSS 制作翻牌效果 效果图 要点 使用 position 设置 2 个卡片重叠 正为 正面 反为 背面 transform r
  • pandas统计分析(下)——数据格式化、分组统计

    数据格式化 在数据处理以后需要对数据进行格式化 以增加数据的可读性 设置小数位数 主要使用round函数实现四舍五入 decimals参数用于设置保留小数的位数 round decimals 0 args kwargs decimals 每