Python第三方库使用感言
Python第三方库使用的感言加使用笔记
- 一般来讲第三方库会提供大量的类与对象, 对象方法的返回值和库中函数的返回值一般不会是Python原始自带的对象, 而是由该第三方库提供的对象, 因为Python的开源性, 第三方库的编写风格各异, 不怎么好记忆, 如, 一般常理来说, 函数应该是动词, 而在matplotlib.pyplot中的title(), xlabel(), ylabel()等设置title, label的函数, 你们瞧一瞧, 我真的...:(
-
对1的举例, pandas中DataFrame创建出来的对象的head()返回的是DataFrame类型对象, columes返回Index对象, loc[index]返回的是Serial, 在下认为, 一方面第三方这样做主要是因为开发方便, 但是我严重以为他们有一种控制欲(让我着实不爽), 这里再Mark一下, 在Pandas中单独的取出来的一行或者一列使用Serial表示的, 但是标题行为Index对象, 使用head(1)虽然返回的是一行, 但是返回的对象是一个DataFrame队形, 因为考虑到head(10)等情况, 额(⊙o⊙)…, 我是不是写地有一点乱了:), 还有还有-->
data is an instance of DataFrame data['one'] --> return Serial class data[['one']] --> return Index class 总是在pandas中返回结果不仅仅是单行或者单列, 除了head(1)和columes都是DataFrame
- 如果执行了一个函数比如sort返回的是None, 一般是作为参数的对象自身发生了改变, 而如果有了返回值, 一般返回的是一个新的对象, 不会影响源对象, 这比如pandas中的DataFrame的sort_values()
- Python的第三方库做的都比较全面, 比如numpy就提供了.T, .min(), mean()等属性和方法, 我的意思是在解决一个问题使, 尤其是使用Python解决时, 最好要想一想有没有现成的, 这要比其他编程语言更为明显
- 在计算中, 如果遇到null或者nan, 一般不会报错呦, 而是返回nan或者null
- 对有领域性的数据结构的运算符的操作, 比如numpy中矩阵的乘积, 加法等都是对其中的元素操作, 对整体地操作一般都是使用函数或者方法
- 一个函数可能传入一个参数的同时也可能支持以列表的方式传入
- Python运行[][]时, 是先运算出左, 出来结果之后再运行右, 在多说一句, 在python中[]就是一个函数调用, 里面的参数是*args
-
一个关于pypot的知识, plt.show()显示figure, 但是之后就会想回该对象了, 所以第二次plt.show()是什么都没有的, 还有 -->
我们在使用plt.plot()等函数在没有指明是哪个figure的时候, 我猜测(:-))应该使用的是plt模块对象中维护的一个方便开发者迅速开发的一个figure, 好吧, 说的有一点模糊 我觉得使用 fig = plt.figure()和上面是非常的相似的, figure()函数返回的就是plt中维护的那个figure figure就是整个画布, 只有**一个** plt.hist(yvalues, xvalues, bins=20) -> bins表示总共的间隔数, 如果为1的话就连在一起了 plt.show()显示figure 对于有强迫症的同学: ax.tick_params(bottom=False, top=False, left=False, right=False): 去掉轴上标注着值的地方的"-"
为了开发方便, 同样也是原则, 一般一个函数的参数, 都是会实现了特定的协议的, 比如一个函数的参数既可以是list又可以是np.ndarray, 因为他们有相应的接口
-
关于seaborn
sns.set() sns.set_style('white') sns.set_style('dark') sns.color_palette('Reds', 8) --> 渐进加深色, 如果是Reds_r颜色翻过来 sns.color_palette(8) --> 展现出8个颜色 .dark_palette .light_palette sns.palplot(sns.color_palette(8)) --> 画到figure(再一次提起, 一个线程一个figure)上 sns.joinplot(x='', y='', data=DataFrameObject) --> 用于观察两个变量之间的管理, 最好就是用散点图 效果跟plt.catter(x, y)差不多, 但是要全一点 sns.regplot(x="x", y="y", data=data, x_jitter=0.05) --> 散列图与回归图 sns.lmplot(x="x", y="y", data=data) sns.pointplot(x="x", y="y", hue="z", data=DataFrameObject); heatmap = sns.heatmap(uniform_data) --> uniform_data是一个矩阵, 通过一个heapmap显示矩阵 ax = sns.heatmap(uniform_data, vmin=0.2, vmax=0.5, center=0, annot=True, linewidth=0.5) --> vmin, vmax指定范围, center指定哪个数为0, annot显示出值, linewidth指定格子的间隔
某一些库就是先以字符串作为标志, 比如12点中提到的seaborn中Red和Red_r, 一个函数的可以接受特别多的参数, 特定该函数的定义时*args, **kwargs, 这样IDE的提示就不好用了
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
pyenv
pyenv python -V --> 显示版本 pyenv install --list --> 列出所有可以安装的包 pyenv versions --> 显示所有的版本 pyenv version --> 显示当前的版本 pyenv install versionId --> 安装,如果太慢的话,则在mkdir ~/.pyenv/cache,将python源码包放到里面再执行命令 pyenv install versionId -v --> 采用缓存的方式安装,并且显示详细信息,建议使用该选项,同时建议安装的版本为3.5.2,因为这个版本支持tensorflow pyenv local 3.6.2 --> 在当期目录创建一个.python-version, 执行pyenv local 自动读取当前目录下的该文件修改PATH变量, 但是这种方式不是基于虚拟环境的, 没有实现隔离 pyenv virtualenv versionId envName --> 创建一个独立的虚拟环境(对PATH做了手脚, 还在工作目录~/.pyenv/ve...
- 下一篇
Python 科学工具笔记
Python 科学工具笔记 numpy a = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象 此时a.shape显示的值为(4,); 由此得出结论在一维的数组中, 数组的是列优先的 numpy.random.uniform(low, high): 产生在low和high之间的随机数 numpy.vdot(arrA, arrB): 计算arrA与arrB的数量积 numpy.max(), .min(), .sum(), .average() numpy.random.randn(): Scipy scipy.integrate.quad(funcname, low, high): funcname函数的仅仅返回一个需要求解积分的式子low: 积分下线high: 积分上限 matplotlib.pyplot import matplotlib.pyplot as plt plt.hist() plt.plot() plt.pie() plt.bar() plt.show() plt.scatter() numpy库使用 genfromtxt(filena...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8