Python小白学习笔记1

基于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('

以上是只有一个数值与其他数值类型不同的情况,那么若存在多种数值类型的情况呢?
一开始有两个猜想:
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('

例4

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

输出结果为:

['1' '2' '3' '4.0' '5']
dtype('

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

字符优先

你可能感兴趣的:(Python小白学习笔记1)