import numpy as np
my_array = np.array([1,2,3])
print(my_array)
print(my_array.shape)
'''
[1 2 3]
(3,)
'''
my_array = np.array([[1,2,3],[1,2,3],[1,2,3]])
print(my_array)
print(my_array.shape)
'''
[[1 2 3]
[1 2 3]
[1 2 3]]
(3, 3)
'''
my_array = np.array([[1,2,3],[1,2,3]])
print(my_array)
print(my_array.shape)
'''
[[1 2 3]
[1 2 3]]
(2, 3)
总结:
1、数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩阵)中元素的个数,通俗点说就是返回列数
2、数组有两个维度时,返回的就是一个元组,第一个数值表示行数,第二个数值表示列数
'''
print('='*40)
# 1.2、访问创建出来数组的某一行或某一列
my_array = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(my_array)
print(my_array.shape)
print(f'第一行:{my_array[0]}')
print(f'最后一行:{my_array[-1]}')
print(f'倒数第二行:{my_array[-2]}')
print(f'访问第三列数据:{my_array[:,2]}')
print(f'访问第二行和第三列数据:{my_array[1,2]}')
'''
[[1 2 3]
[4 5 6]
[7 8 9]]
(3, 3)
第一行:[1 2 3]
最后一行:[7 8 9]
倒数第二行:[4 5 6]
访问第三列数据:[3 6 9]
访问第二行和第三列数据:6
总结:
1、根据你定义的数组形状来访问
2、特点是序列索引都是从0开始
3、如果是二维数组array[行,列]
'''
print('='*40)
# 1.3、通过NumPy可以直接进行算术运算(向量运算)
my_array1 = np.array([[1,2,3],[1,2,3],[1,2,3]])
my_array2 = np.array([[1,1,1],[2,2,2],[3,3,3]])
print(f'向量加法:\n{my_array1 + my_array2}')
print(f'向量乘法:\n{my_array1 * my_array2}')
'''
向量加法:
[[2 3 4]
[3 4 5]
[4 5 6]]
向量乘法:
[[1 2 3]
[2 4 6]
[3 6 9]]
总结:
1、这里向量乘法就是单纯的对应位相乘
'''
import numpy as np
import matplotlib.pyplot as plt
# 2.1、绘制线条图
my_array = np.array([[1,2,3],[2,4,6],[3,9,27]]) #定义绘图数据
plt.plot(my_array) #初始化绘图
plt.xlabel('x axis') #设定x轴
plt.ylabel('y axis') #设定y轴
plt.show() #结果见附图1
# 2.2、绘制散点图
my_array1 = np.array([4,7,8]) #定义绘图数据
my_array2 = np.array([11,22,33]) #定义绘图数据
plt.scatter(my_array1,my_array2) #初始化绘图
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.show() #结果见附图2
import numpy as np
# 3.1、Series【建立Series(n. 连续)时可以设定index,也可以像访问Numpy数组或字典一样来访问Series元素】
import pandas as pd
my_array = np.array([1,2,3])
index =['a','b','c']
my_Series = pd.Series(my_array,index=index)
print(f'my_Series:\n{my_Series}')
print(f'Series中的第一个元素:{my_Series[0]}')
value = my_Series['c']
print(f'Series中的c索引元素:{value}')
'''
my_Series:
a 1
b 2
c 3
dtype: int32
Series中的第一个元素:1
Series中的c索引元素:3
'''
# 3.2、DataFrame【DataFrame是一个可以指定行和列标签的二维数组,数据可以通过指定列名来访问特定列的数据】
my_array = np.array([[1,2,3],[2,3,4],[3,4,5]])
row_index = ['row1','row2','row3']
col_name = ['col1','col2','col3']
my_dataframe = pd.DataFrame(data=my_array,index=row_index,columns=col_name)
print(my_dataframe)
print('访问col3的数据:')
print(my_dataframe['col3'])
# print('访问row1的数据:')
# print(my_dataframe['row1']) #KeyError: 'row1'
'''
col1 col2 col3
row1 1 2 3
row2 2 3 4
row3 3 4 5
访问col3的数据:
row1 3
row2 4
row3 5
Name: col3, dtype: int32
'''
附图1

附图2
