Numpy
Numerical Python
高性能科学计算和数据分析的基础包
提供多维数组对象,具有矢量运算能力
Pandas
基于Numpy,提供高性能的矩阵运算
具有更多方便矩阵计算中使用的方法
一维数组
Pandas:Series
Numpy:ndarray
ndarray与Python List的相似处
通过位置访问元素
l[0]、l[2:5]、l[:3]、l[2:]
循环:
for item in l:
xxx
ndarray与Python List的不同
1.Python List元素可以任意类型组合、ndarray元素类型必须相同(不相同时Numpy会自动做类型转换)
2.ndaarray有mean()、std()等更多的跟数学计算相关的内置函数
3.ndarray可以更方便的对多维度数组进行运算
import numpy as np
import pandas as pd
print(type(np.array([1, 2, 3])))
print(type(pd.Series([1, 2, 3])))
hours = np.array(['12AM', '1AM', '2AM', '3AM',
'4AM', '5AM', '6AM', '7AM',
'8AM', '9AM', '10AM', '11AM',
'1PM', '2PM', '3PM', '4PM',
'5PM', '6PM', '7PM', '8PM',
'9PM', '10PM', '11PM', '12PM'])
Temps = np.array([-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
-1, -1, -1, -1,
])
print(hours[14])
print(hours[2:4])
print(Temps[2:4])
for i in hours:
print(i, end=" ")
print()
print(Temps.dtype)
print(np.array([1,2,3]).dtype)
print(np.array(['HELLO',1,True]).dtype)
for i in np.array(['Hello',1,True]):
print(type(i))
print(np.array([[1,2,3],[1,2,3],[1,2,3]]).sum())
print(Temps.sum())
print(Temps.std())
print(Temps.mean())
求一天当中最高气温和其对应的时间
import numpy as np
import pandas as pd
print(type(np.array([1, 2, 3])))
print(type(pd.Series([1, 2, 3])))
hours = np.array(['12AM', '1AM', '2AM', '3AM',
'4AM', '5AM', '6AM', '7AM',
'8AM', '9AM', '10AM', '11AM',
'1PM', '2PM', '3PM', '4PM',
'5PM', '6PM', '7PM', '8PM',
'9PM', '10PM', '11PM', '12PM'])
Temps = np.array([-9, 20, -15, -16,
-1, -7, 7, 8,
-13, -5, -14, -1,
-12, -1, -6, -1,
-2, 6, -1, 4,
-8, -1, -1, -3,
])
def getMaxTemp(hours,temps):
max_temp = temps.max()
max_hour = hours[temps.argmax()]
return (max_temp,max_hour)
print(getMaxTemp(hours,Temps))