美文网首页
Python小白学习笔记1

Python小白学习笔记1

作者: 合一山人 | 来源:发表于2017-12-14 17:26 被阅读0次

    基于Python 3.6.3

    多数服从少数

    numpy.array中数值类型必须保持一致,当不一致时,服从“多数服从少数”原则,自动更改为一致形式。

    import numpy
    numbers = numpy.array([1, 2, 3, 4])
    print (numbers)
    numbers.dtype  ##查看数据类型##
    

    输出结果为:

    [1 2 3 4]
    dtype('int32')
    

    例1.更改其中一个数值的类型

    import numpy
    numbers = numpy.array([1, 2, 3, 4.0])
    print (numbers)
    numbers.dtype
    

    输出结果为:

    [ 1.  2.  3.  4.]
    dtype('float64')
    

    例2.更改其中一个数值的类型

    import numpy
    numbers = numpy.array([1, 2, 3, '4'])
    print (numbers)
    numbers.dtype
    

    输出结果为:

    ['1' '2' '3' '4']
    dtype('<U11')
    

    以上是只有一个数值与其他数值类型不同的情况,那么若存在多种数值类型的情况呢?
    一开始有两个猜想:
    1.与顺序有关,即以最后一位或其他位置数值的类型为准;
    2.与数值类型的优先级有关。
    不妨试一试
    例3

    import numpy
    numbers = numpy.array([1, 2, 3, '4', 5.0])
    print (numbers)
    numbers.dtype
    

    输出结果为:

    ['1' '2' '3' '4' '5.0']
    dtype('<U11')
    

    例4

    import numpy
    numbers = numpy.array([1, 2, 3, 4.0, '5'])
    print (numbers)
    numbers.dtype
    

    输出结果为:

    ['1' '2' '3' '4.0' '5']
    dtype('<U32')
    

    例3、例4可以否定假设1,也即与顺序无关。
    那么应该是与优先级有关,观察结果我们可以发现,当数值中存在字符类型时,程序会将所有数据都转化为字符类型,也即

    字符优先

    相关文章

      网友评论

          本文标题:Python小白学习笔记1

          本文链接:https://www.haomeiwen.com/subject/goukwxtx.html