import numpy
#1.array把数组转化为矩阵
In [9]:
#it will compare the second value to each element in the vector
# If the values are equal, the Python interpreter returns True; otherwise, it returns False
vector = numpy.array([5, 10, 15, 20])
vector == 10
import numpy
#it will compare the second value to each element in the vector
# If the values are equal, the Python interpreter returns True; otherwise, it returns False
vector = numpy.array([5, 10, 15, 20])
vector == 10
Out[9]:
array([False, True, False, False], dtype=bool)
#2.二维数组
In [10]:
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
matrix == 25
Out[10]:
array([[False, False, False],
[False, True, False],
[False, False, False]], dtype=bool)
#3.判断是否含有10,并输出
In [6]:
#Compares vector to the value 10, which generates a new Boolean vector [False, True, False, False]. It assigns this result to equal_to_ten
vector = numpy.array([5, 10, 15, 20])
equal_to_ten = (vector == 10)
print equal_to_ten
print(vector[equal_to_ten])
Out[6]:
[False True False False]
[10]
#4.
In [8]:
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = (matrix[:,1] == 25) #输出第二列 对应的True或false
print(second_column_25)
print(matrix[second_column_25, :]) #second_column_25中为True的行全部输出
Out [8]:
[False True False]
[[20 25 30]]
#5.与操作 同时满足
In [11]:
#We can also perform comparisons with multiple conditions
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_and_five = (vector == 10) & (vector == 5)
print equal_to_ten_and_five
Out [11]:
[False False False False]
#6.或操作 其中之一满足,或都满足
In [12]:
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
Out [12]:
print equal_to_ten_or_five
[ True True False False]
#7.或操作 复制
In [13]:
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
vector[equal_to_ten_or_five] = 50
print(vector)
Out [13]:
[50 50 15 20]
#8、查看某一列是否存在某个值,并进行修改
In [12]:
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = matrix[:,1] == 25
print second_column_25
matrix[second_column_25, 1] = 10
print matrix
Out [12]:
[False True False]
[[ 5 10 15]
[20 10 30]
[35 40 45]]
#9、 astype 数据的类型修改
In [14]:
#We can convert the data type of an array with the ndarray.astype() method.
vector = numpy.array(["1", "2", "3"])
print vector.dtype
print vector
vector = vector.astype(float)
print vector.dtype
print vector
Out [14]:
|S1
['1' '2' '3']
float64
[ 1. 2. 3.]
#10、 求和
In [19]:
vector = numpy.array([5, 10, 15, 20])
vector.sum()
Out[19]:
50
In [20]:
#11.sum(axis=1) 每一列求和 sum(axis=0) 每一行求和
# The axis dictates which dimension we perform the operation on
#1 means that we want to perform the operation on each row, and 0 means on each column
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
matrix.sum(axis=1)
Out[20]:
array([ 30, 75, 120])
In [21]:
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
matrix.sum(axis=0)
Out[21]:
array([60, 75, 90])
In [25]:
#replace nan value with 0
world_alcohol = numpy.genfromtxt("world_alcohol.txt", delimiter=",")
#print world_alcohol
is_value_empty = numpy.isnan(world_alcohol[:,4]) #不是数组返回nan 否则返回数字
#print is_value_empty
world_alcohol[is_value_empty, 4] = '0' #最后一列是nan 值为0
alcohol_consumption = world_alcohol[:,4]
alcohol_consumption = alcohol_consumption.astype(float)
total_alcohol = alcohol_consumption.sum()
average_alcohol = alcohol_consumption.mean()
print total_alcohol
print average_alcohol
Out [25]:
1137.78
1.14006012024