96SEO 2026-02-20 02:58 10
Numpy使用ndarray对象来处理多维数组该对象是一个快速而灵活的大数据容器

Numpy提供了一个N维数组类型ndarray他描述相同类型的items的集合
80]])type(score)numpy.ndarray##
range(5000000):a.append(random.random())
0.0027697086334228516从上面的结果显示使用ndarray的时间处理和原生的list相比更加快速
Numpy专门的针对ndarray的操作和运算进行了设计所以数组的存储效率和输入输出性能远远的高于Python中嵌套列表
第一个内存块存储风格ndarray必须要相同的类型可以连续存储
list的通用性强可以不同类型数据所以list数据之间是依靠引用的形式存储第二个并行化处理形式ndarray支持并行化运算第三个底层语言Numpy底层语言是c内部解除了GIL全局解释器的限制
d2表示维度的元组数据np.random.uniform(low0.0,
high)size-int类型表输出一位样本数元组表输出的是对应维度数组np.random.normal(loc0.0,
二维数组中第一个一维数组中的第0到3个之间的数据左闭右开array([-1.23848824,
三维数组中第二个二维数组中的第一个一维数组的第三个数据4形状的修改
ndarray.reshape(shape)ndarray.resize(shape)ndarray.T
1.00201755]]stock_change.resize((10,
stock_changearray([[-1.23848824,
ndarray.astype(type)ndarray序列化到本地
ndarray.tostring()ndarray.tobytes()
stock_change.astype(np.int32)array([[
之前可以使用tostring的方法b\x10\x83d\xcbfG\x8a\xbf\x06\xcb\n_\x81\xd2\xf5?\xf6i\x89\x85\xcb\xfa?(\x9dK\xf1\xe06\xfa\xbf\x040\xd3:\x14\xe0?\xf4\x96\xb4\xeb(\x01\xda?\x9b\xfe\x94e\xf7\x7f\xe1?\x80I\xb5\x10\xb2\xf8\xbf\xf2\x01\xcbv\xc5t\xee\xbf\x92\xbe9\xac\x13\x7f\xe9?F\x98\xc71i\x93\xd2\xbf\xcf~\x07\xc6^s\xeb\xbf$a\xd4\xee\xed\x0e\x07\xc0\xf2\xf0\x87I\x9aA\xb8?/\x91\xedg\x035\xd1?\xc0\x85\xe6K\xe8%\xe7\xbf9\r\r*m\x0f\xd5?H\x8d\xcb\xab\x95\xf6?A\xed
\xca\x9f.\xcc?\xb0\xce\x0f;\x00\xaf\xbd?\xe4\xa3\x860\xba\xce\xf7\xbf\x9e5\x1b\x8c6T\xd6\xbfv\xdd\xc3\x15\x80\x00\xde\xbf\x19s/\x1c\xb4\xee\xb0?\x9c\xc7I\x11\x0cv\xf3\xbf\xcb$A\xd9\xd6\xbf\xbf}\xbd\xa6\x99D\xc0\xde\xbf(\xedu\xc2\x0cu\xed?W\x04\xd2\xdd\x9d\xf1\xf5?MD\xf8)\x0b\xf0\xd9?[\xc0\xaa3\xea\xe5\xbf6ozQHE\xf7?M*CB\xd1\xc2\xd4?{!\x11\xc9\xbd\x00\xb3\x0b\xb0\xeb\x00j\xf6\xbf\x86\xfc\xe7*M\x7f\xcb?_\xca\xdc\xbf\x18\x04\xf1?\x85]G\xea\xb7\xfa\xf1\xbfi4gX\xfdW\xcb\xbf\xc2g^\x8b:\xad\xeb\xbf\x06l\x0bo\x8b\xa8\xec\xbf{L4s\x0bt\x06\xc0;\xdd0F\x89\x15\xfd\xbf\xf6\x06\x03\xde\xd3\xb5\xe4\xbf}\x13\xc9\xc0\x95\x99\xf0\xbf\xfb\rF\x14\xe9;\xb7\xbf\xa1\xa1\x9fpn\x9f\xa4?\x19\xa3\x84\xc65\xec?\xb9^\xa1Ft\xdd\xd8\xbf\x8b,N\x1f\xa3\xf2\xdb?\xe4UJc\x8f\xe3\xbfC\x02\xa0\xbf,\x8d\xca?\xf5)\x82\t\xc1\xb9\xf1\xbf\xbdxl0\xa40\xff\xbfi\x02C3\xb2V\xe9?Q^\x8d\xd9\x0f\xfb\xf6\xbf\xb0\x9c\x914\x17#\xd9\xbfe\xdf\xd2\x0cU\xf4\xf6?\xf3\xf7\xf4M\xfa\xee\xe8\xbf\xb6R\xee\xbd\x1e\xe8?\x84o$\x87\x9c\xf6\xdc\xbf\xf5\xc6$\xd6\xcb\xff\xcb?\xf6\xeb?\xcb\xe7?\\\xa311\xf8\x84\xec?S\xf6\xb5\xea\x9d\xe9?\x06\x18\xed_\x86\x92\xb3?_\xaf\x14\xa2\xc1\xf4\xf2?O\xd2\x02\xbd\xc4d\xf3?p\xe7\x80\x9a3\x91\x04\xc0\xeb\xfe#\xf2/*\xa8\xbf\x9a\xfa\\\xc5\xd9\xff\xf7?\xf4\xfe\xb0\x8a;\xb3\xfb?\x97\x89l\xad\xbe\x05\xd7?\x1d\xc4\xce\xc6\xf5T\xd4\xbf\xfd\x99\xf0n\x8a\xce\xbf:J\xe4\x15\x8b\x0b\xc3??UZ\xe1\x8f\x8e\xfc?\xebph\xb9\x16-\xc4\xbf\x87]\xab\x8b\x9a\xb2\xe0?\xb4\xa2\tw\x01\x92\xf8?temp
否则为Falsestock_change[stock_change
返回所有大于0.5的数据stock_change[stock_change
布尔值里面有一个True就返回True,只有全是False才会返回False
否则置为0np.where(np.logical_and(stock_change
将大于0.5并且小于1的置为1否则置为0np.where(np.logical_or(stock_change
统计指标函数min,max,mean,median,var,std函数其中有一个参数axis,为1代表使用行去进行统计为0使用列进行统计计算。
±*/等等直接对数组中的每个元素执行相同的操作数组与数组的运算需要满足广播机制广播机制当操作两个数组进行运算的时候numpy会比较两个数组的shape,只有满足shape对应位置相等或者相对应的一个地方为1的数组才可以进行运算结果对应shape取相应的位置的最大值。
矩阵运算矩阵matrix
将数组转换为矩阵有两种方法来存储矩阵ndarray二维数组、matrix数据结构矩阵运算
也就是第一个矩阵的列数和第二个矩阵的行数要相等np.matmul()
numpy库中用于矩阵乘法的函数,它的作用是计算两个矩阵的乘积np.dot()
True,False]])stock_change[stock_change
1.53564593])stock_change[stock_change
]])print(np.all(stock_change[0:2,
Trueprint(np.where(stock_change0,
1]]print(np.where(np.logical_and(stock_change
1]]print(np.where(np.logical_or(stock_change
stock_change.max())2.837073584187165
2.837073584187165print(np.mean(stock_change,
np.mean(stock_change))[-0.9652667
-0.15500833265906144print(np.argmax(stock_change),
data3matrix([[0.3],[0.7]])print(data2
第二列乘上0.7[[84.2][80.6][80.1][90.
][83.2][87.6][79.4][93.4]]print(np.matmul(data2,
][83.2][87.6][79.4][93.4]]合并和分割
文件路径和分隔符号np.genfromtxt(‘tes.csv’,
123.]])对于上面的数组中的nan值的类型是float64,对于这个的一般处理方式有两种
Numpy的优势内存存储风格ndrray存储相同数据内存连续存储底层c语言实现支持多线程ndarray的属性shape、dtype、ndim、size、itemsize基本操作ndarray.方法()
np.zeros(shape)从现有数组中生成np.array()
np.asarray()生成固定范围的数组np.linspace(a,
正态分布np.random.normal()切片索引形状修改ndarray.reshape((a,
ndarray.T类型修改ndarray.astype(type)
ndarray.tobytes()数组去重np.unique()
数组与数的运算数组与数组的运算要注意广播机制矩阵运算np.mat()
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback