数据分析器NumPy Pandas的实战指南一引言为什么我们离不开NumPy和PandasNumPy擅长数值计算处理大规模数组和矩阵高效且强大Pandas提供结构化数据处理能力让数据清理分析转换变得异常轻松二Numpy数组运算的加速器1.Numpy的核心----ndarrayNumPy的核心就是ndarry(n-dimensional array)它比Python的列表更快更省内存转为数值计算优化。import numpy as np #创建一个数组 arr np.array([1,2,3,4,5]) # 数字运算 arr_squard arr ** 2 #平方 arr_mean np.mean(arr) #计算平均值 print(f平方后的数组{arr_squard}) print(f数组均值{arr_mean})为什么Numpy比Python的列表快因为NumPy是用C语言编写的并且使用了连续内存存储避免了Python列表的额外开销2.NumPy的矩阵运算如果你做数据科学NumPy提供了强大的矩阵运算能力import numpy as np #创建矩阵 A np.array([[1,2],[3,4]]) B np.array(([5,6],[7,8])) #矩阵相乘 C np.dot(A,B) print(f矩阵相乘结果:\n{C})矩阵计算可以用于机器学习图像处理金融分析等各种场景非常强大三Pandas数据分析的终极工具1.DataFrame:结构化数据处理的利器DataFrame 是Pandas的核心类似于Excal表格让数据变的直观import pandas as pd #创建 DataFrame data {姓名: [张三,李四,王五], 年龄: [25,30,35], 工资: [7000,8000,10000]} df pd.DataFrame(data) print(data)2.处理缺失值现实数据里总有一些缺失值Pandas处理这些问题非常方便import pandas as pd #假设某些数据缺失 df pd.DataFrame({工资:[5000,6000,5500,6200]}) df.loc[1,工资] None #用均值填充缺失值 df[工资]df[工资].fillna(df[工资].mean()) print(df)在实际工作中数据清理是不可避免的Pandas提供的fillna() , dropna() 方法让数据处理变得简单高效3.数据筛选与分析数据分析最常见的需求之一就是筛选数据比如找出大于8000的人import pandas as pd #假设某些数据缺失 df pd.DataFrame({工资:[5000,6000,5500,6200,8000,9000,10000]}) df.loc[1,工资] None #用均值填充缺失值 df[工资]df[工资].fillna(df[工资].mean()) high_salary df[df[工资] 8000] print(high_salary)关键语句high_salary df[df[工资] 8000] print(high_salary)4.数据可视化当然数据分析不是只有表格Pandas可以和Matplotlib结合实现数据可视化import matplotlib.pyplot as plt import pandas as pd #画工资分布图 df pd.DataFrame({工资:[7000,8000,9000]},index[张三,李四,王五]) df[工资].plot(kindbar) plt.xlabel(姓名) plt.ylabel(工资) plt.title(工资分布) plt.show()四numpy pandas的完美组合df[工资标准化] (df[工资] - np.mean(df[工资])) / np.std(df[工资])文章来源whttps://cloud.tencent.com/developer/article/2517953?from_sceneregister