博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python第三方库使用感言
阅读量:6227 次
发布时间:2019-06-21

本文共 2491 字,大约阅读时间需要 8 分钟。

Python第三方库使用的感言加使用笔记

  1. 一般来讲第三方库会提供大量的类与对象, 对象方法的返回值和库中函数的返回值一般不会是Python原始自带的对象, 而是由该第三方库提供的对象, 因为Python的开源性, 第三方库的编写风格各异, 不怎么好记忆, 如, 一般常理来说, 函数应该是动词, 而在matplotlib.pyplot中的title(), xlabel(), ylabel()等设置title, label的函数, 你们瞧一瞧, 我真的...:(
  2. 对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 DataFramedata['one'] --> return Serial classdata[['one']] --> return Index class总是在pandas中返回结果不仅仅是单行或者单列, 除了head(1)和columes都是DataFrame
  3. 如果执行了一个函数比如sort返回的是None, 一般是作为参数的对象自身发生了改变, 而如果有了返回值, 一般返回的是一个新的对象, 不会影响源对象, 这比如pandas中的DataFrame的sort_values()
  4. Python的第三方库做的都比较全面, 比如numpy就提供了.T, .min(), mean()等属性和方法, 我的意思是在解决一个问题使, 尤其是使用Python解决时, 最好要想一想有没有现成的, 这要比其他编程语言更为明显
  5. 在计算中, 如果遇到null或者nan, 一般不会报错呦, 而是返回nan或者null
  6. 对有领域性的数据结构的运算符的操作, 比如numpy中矩阵的乘积, 加法等都是对其中的元素操作, 对整体地操作一般都是使用函数或者方法
  7. 一个函数可能传入一个参数的同时也可能支持以列表的方式传入
  8. Python运行[][]时, 是先运算出左, 出来结果之后再运行右, 在多说一句, 在python中[]就是一个函数调用, 里面的参数是*args
  9. 一个关于pypot的知识, plt.show()显示figure, 但是之后就会想回该对象了, 所以第二次plt.show()是什么都没有的, 还有 -->

    我们在使用plt.plot()等函数在没有指明是哪个figure的时候, 我猜测(:-))应该使用的是plt模块对象中维护的一个方便开发者迅速开发的一个figure, 好吧, 说的有一点模糊我觉得使用 fig = plt.figure()和上面是非常的相似的, figure()函数返回的就是plt中维护的那个figurefigure就是整个画布, 只有**一个**plt.hist(yvalues, xvalues, bins=20)   -> bins表示总共的间隔数, 如果为1的话就连在一起了plt.show()显示figure对于有强迫症的同学:    ax.tick_params(bottom=False, top=False, left=False, right=False): 去掉轴上标注着值的地方的"-"
  10. 为了开发方便, 同样也是原则, 一般一个函数的参数, 都是会实现了特定的协议的, 比如一个函数的参数既可以是list又可以是np.ndarray, 因为他们有相应的接口

  11. 关于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_palettesns.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. 某一些库就是先以字符串作为标志, 比如12点中提到的seaborn中Red和Red_r, 一个函数的可以接受特别多的参数, 特定该函数的定义时*args, **kwargs, 这样IDE的提示就不好用了

转载地址:http://wqnna.baihongyu.com/

你可能感兴趣的文章
UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频
查看>>
各行业最受欢迎的编程语言,硬件最青睐C和C++
查看>>
监听用户的后退键,解决部分浏览器回退的bug
查看>>
Vivado+FPGA:如何使用Debug Cores(ILA)在线调试(烧录到flash里可以直接启动)
查看>>
[Preference] How to avoid Forced Synchronous Layout or FSL to improve site preference
查看>>
【laravel5.4】php artisan migrate报错:Specified key was too long; max key length is 767 bytes
查看>>
[转]外贸出口流程图
查看>>
微信小程序onLaunch修改globalData的值
查看>>
php实现简单算法3
查看>>
Always run a program in administrator mode in Windows 10
查看>>
打陀螺
查看>>
tcp echo server libuv
查看>>
Random Processes
查看>>
操作argc, argv的经典写法
查看>>
phpStudy中升级MySQL版本到5.7.17的方法步骤
查看>>
SQLServer BI 学习笔记
查看>>
sublim课程2 sublim编辑器的使用(敲代码的时候把这个放旁边用)
查看>>
什么是Solr
查看>>
oracle 12cR1&12cR2核心高实用性新特性
查看>>
pandas Series的sort_values()方法
查看>>