本文目录一览:
- 1、如何用python进行数据分析
- 2、使用python内建函数,如何分析复杂度
- 3、用python解决一个简单的算法问题,要求时间复杂度最小,并分析时间复杂度,给出代码
- 4、求计算算法的复杂度 (Python写的逻辑)
如何用python进行数据分析
1、Python数据分析流程及学习路径
数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。每一步的主题也包含众多内容。
根据每个部分需要用到的工具,Python数据分析的学习路径如下:
相关推荐:《Python入门教程》
2、利用Python读写数据
Python读写数据,主要包括以下内容:
我们以一小段代码来看:
可见,仅需简短的两三行代码即可实现Python读入EXCEL文件。
3、利用Python处理和计算数据
在第一步和第二步,我们主要使用的是Python的工具库NumPy和pandas。其中,NumPy主要用于矢量化的科学计算,pandas主要用于表型数据处理。
4、利用Python分析建模
在分析和建模方面,主要包括Statsmdels和Scikit-learn两个库。
Statsmodels允许用户浏览数据,估计统计模型和执行统计测试。可以为不同类型的数据和每个估算器提供广泛的描述性统计,统计测试,绘图函数和结果统计列表。
Scikit-leran则是著名的机器学习库,可以迅速使用各类机器学习算法。
5、利用Python数据可视化
数据可视化是数据工作中的一项重要内容,它可以辅助分析也可以展示结果。
使用python内建函数,如何分析复杂度
字典(dict)下列字典的平均情况基于以下假设: 1. 对象的散列函数足够撸棒(robust),不会发生冲突。 2. 字典的键是从所有可能的键的集合中随机选择的。小窍门:只使用字符串作为字典的键。这么做虽然不会影响算法的时间复杂度,但会对常数项产生显著的影响,这决定了你的一段程序能多快跑完。操作平均情况最坏情况复制[注2]O(n)O(n)取元素O(1)O(n)更改元素[注1]O(1)O(n)删除元素O(1)O(n)遍历[注2]O(n)O(n) 注: [1] = These operations rely on the “Amortized” part of “Amortized Worst Case”. Individual actions may take surprisingly long, depending on the history of the container. [2] = For these operations, the worst case n is the maximum size the container ever achieved, rather than just the current size. For example, if N objects are added to a dictionary, then N-1 are deleted, the dictionary will still be sized for N objects (at least) until another insertion is made.
用python解决一个简单的算法问题,要求时间复杂度最小,并分析时间复杂度,给出代码
比方找出前k个最大的数,建立一个最小堆,size为k, 先放前k个数到堆中。然后遍历余下的数(设为x),
如果x比堆顶的数大,则弹出堆顶,压入x, 否则忽略。遍历完后就找出了最大的k个数。
求计算算法的复杂度 (Python写的逻辑)
(a) 算法复杂度为O(n),因为只有一个while循环,且in,所以复杂度是线性级,仅跟n有关
(b) 算法复杂度为O(n²),实际上算法复杂度为nxn/2 = n²/2,因为有for循环的嵌套
(c) 算法复杂度为O(n),因为只有while循环,尽管里面i=ix2,但是这是常数级操作
(d) 算法复杂度为O(log i),这是对数级操作,每次i除以2,所以是log(i)base(2)
(e) 算法复杂度为O(n log n)
(f) 算法复杂度为O(2^i),这是一个递归算法,为指数级
(g) 算法复杂度为O(n 2^n),这是一个交换数据的算法,是一个递归+一个for 循环