Python相关文章索引(9)
2017-06-29 12:24
274 查看
环境部署
解决pycharm无法导入本地包的问题(Unresolved reference ‘tutorial’)①清除缓存并重启(File——>Invalidate Caches\Restart)
②设置源目录
基本常识
python3.x中如何实现print不换行print(“祝各位身体健康”, end=’ ,’)
此处以
,替换默认的换行符
\n
w =StringVar(),其中w.get 和 w.set()是什么意思
在Python中,StringVar是可变字符串,get()和set()是得到和设置其内容
Tkinter
基本常识
Tkinter百度百科python GUI编程(Tkinter)
Debug
tkinter.messagebox.showinfo doesn’t always work这是导入方式的一个问题,如果你直接
import tkinter可能会出现如上错误,需替换成
import tkinter.messagebox或者
from tkinter import messagebox。
数据科学
环境部署
Anaconda安装keras简记win7集成显卡安装tensorflow1.0傻瓜步骤
基本常识
数据的游戏:冰与火如何理解置信度?
Numpy
numpy.zeros(np.zeros)使用方法–python学习笔记31用法:zeros(shape, dtype=float, order=’C’)
返回:返回来一个给定形状和类型的用0填充的数组;
例子:
np.zeros(5)
array([ 0., 0., 0., 0., 0.])
NumPy简明教程(二、数组2)
reshape函数改变调用数组的形状并返回该数组
Python中numpy.clip();numpy.fabs()的用法;以及math.pow()的说明
numpy.clip(a,a_min,a_max,a=None)的运用:
方法解释:
Clip(limit)the values in the array.
这个方法会给出一个区间,在区间之外的数字将被剪除到区间的边缘,例如给定一个区间[0,1],则小于0的将变成0,大于1则变成1.
python numpy中nonzero()的用法
nonzeros(a)返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。
Python中的axis=0,axis=1
axis=0表述列
axis=1表述行
numpy.newaxis
从字面上是插入新的维度的意思
numpy.concatenate
Join a sequence of arrays along an existing axis.
学习NumPy(2)
numpy.NAN来标记不合法的值,也即不是真实的值。
Pandas
【原】十分钟搞定pandaspandas使用小结(二)
pandas库学习笔记(一)Series入门学习
Series 是一个一维数组结构的,可以存入任一一种python的数据类型(integers, strings, floating point numbers, Python objects, etc.)。
pandas教程:[22]填充缺失值
当数据中存在NaN缺失值时,我们可以用其他数值替代NaN,主要用到了DataFrame.fillna()方法
pandas教程:[24]删除缺失数据
假如数据量比较大或者有冗余,我们可以删掉有缺失值的数据,你可以选择删除行或者删除列,用的都是DataFrame.dropna(),当然Series也有dropna方法,用法相同。
《利用python进行数据分析》读书笔记–第五章 pandas入门
pandas数据结构介绍
两个数据结构:Series和DataFrame。
Series是一种类似于以为NumPy数组的对象,它由一组数据(各种NumPy数据类型)和与之相关的一组数据标签(即索引)组成的。可以用index和values分别规定索引和值。如果不规定索引,会自动创建 0 到 N-1 索引。
DataFrame是一种表格型结构,含有一组有序的列,每一列可以是不同的数据类型。既有行索引,又有列索引,可以被看做由Series组成的字典(使用共同的索引)。跟其他类似的数据结构(比如R中的data.frame),DataFrame面向行和列的操作基本是平衡的。其实,DataFrame中的数据是以一个或者多个二维块存放的(不是列表、字典或者其他)。
PANDAS 数据合并与重塑(join/merge篇)
Sklearn
使用sklearn做单机特征工程有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。
使用sklearn优雅地进行数据挖掘
数据挖掘通常包括数据采集,数据分析,特征工程,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征工程和模型训练工作
基于Spark自动扩展scikit-learn (spark-sklearn)
Matplotlib
Python 3下Matplotlib画图legned(图例)中文显示乱码的解决方法①在计算机中找到字体,选择一种中文字体
②右键可以查看其属性从而得知字体名称
③然后在程序中定义Matplotlib的字体管理,这里将其命名为zhfont1,代码如下:
zhfont1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simkai.ttf')
④最后在legend中通过prop参数进行调用:
plt.legend(prop=zhfont1)
Matplotlib Tutorial(译)
一个图像(figure)意味着用户界面的整个窗口。在一个图像中可以有些子区(subplot)。subplot将绘图放置在常规的网格位置上而axes允许更自由的放置。
matplotlib 可视化 —— 移动坐标轴(中心位置)
matplotlib学习笔记–Legend
显示图例
Debug
UnicodeDecodeError : ‘ascii’ codec can’t decode byte 0xe0 in position 0: ordinal not in range(128)在anaconda shell 里面使用pip install 总是报错’ascII’ can’t decode,该如何解决?
可以尝试升级下anaconda版本哦!!!
‘builtin_function_or_method’ object is not subscriptable
万一是小括号误写成中括号呢?
P.K.
numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。
Python基础——min/max与np.argmin/np.argmax
这里应该是拿min/max(更适合处理可迭代对象,可选的参数是key=func)与np.min/np.max(可适合处理numpy.ndarray对象,可选的参数是axis=0或者1)作比较,只不过np.argmin/np.argmax的用法与np.min/np.max相似,这里就不进行更正了。
①函数的功能不同
前者返回值,后者返回最值所在的索引(下标)
②处理的对象不同
前者更适合处理list等可迭代对象,而后者自然是numpy里的核心数据结构ndarray(多维数组)
③函数类型不同
min/max是Python内置的函数
np.argmin/np.argmax是numpy库中的成员函数
④接口不同
min(iterable, key=func)->value
np.argmin(a, axis=None)
常见的接口如上所示,前者除了一个可迭代对象外,还接收一个函数对象(keyword argument),用于指定比较的对象(也即最值比较的内容是,将迭代对象中的元素逐个赋予func函数对象所得到返回值),可见func只可接受一个参数,如min(dict, key=dict.get)。而np.argmax更多的是进行轴上的比较(axis=0,也是默认的轴,是列向)
python中arange()和linspace()区别
arange()类似于内置函数range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。
linspace()通过指定开始值、终值和元素个数创建表示等差数列的一维数组,可以通过endpoint参数指定是否包含终值,默认值为True,即包含终值。
[numpy]split()和array_split()
功能与split一样,唯一的区别是 array_split allows indices_or_sections to be an integer that does not equally divide the axis.(也就是说,你有一个array,里面如果有9个元素,你想把它分成3份,
split和
array_split都没有问题,每份3个元素呗,但如果你想把它分成2份,那么问题来了,我不能一份4.5个吧,所以这时候split就会报错,而array_split可以实现这种不均等的分割,比如第一份5个,第二份4个)
实战演练
1. Python将图片转换成字符画
Python将图片转换为字符画Debug
如果你没有PIL模块,想通过pip进行安装的话,可能会报错如下:could not find a version that satisfies the requirement……
于是手动到官网下载(注:此处没有x64版本可下载,只能下载32位的了),下载得到PIL-1.1.7.win32-py2.7.exe,
就像作者的第二篇文章所述:
Python安装第三方库PIL时失败的解决办法
但也许,我们未必如作者般那么幸运:手动安装,会自动识别之前安装的Python路径,一路默认就可以了
兴许还会半路来个拦路虎,比如这个:
此时,你可能需要执行下如下文章所述的脚本:
【已解决】PIL安装异常 “python version 2.7 required, which was not found in the registry.”
然而,当你以为一切都大功告成时,满心欢喜地run了起来,也许还会蹦出个这个:
ImportError: The _imaging C module is not installed
那就
pip install pillow下吧~
PIL The _imaging C module is not installed
2. Python3+requests爬取百度贴吧帖子
Python2.7网络爬虫—简单的爬取百度贴吧的小爬虫(注:如上文作者是通过Python2.7+urllib2进行爬取的)
基本常识
Python zfill()方法Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
python3中raw_input()变成了input()
Python3使用requests包抓取并保存网页源码的方法
Debug
我的一个初衷是:我爬取下来的html,浏览器打开后内容图片和中文都可以正常的显示,而不是乱码或者content的字节所以当初衷达不到的时候,一开始的怀疑点落在了requests库的中文编码上了:代码分析Python requests库中文编码问题
然而当按照如上文所述的编码格式进行设置后,依旧不能如愿,于是乎,就想着会不会是我想打开写入的那个文件的编码问题呢?于是参考如下文章,得以如愿:
python自然语言编码转换模块codecs介绍
用codecs提供的open方法来指定打开的文件的语言编码,它会在读取的时候自动转换为内部unicode
file = codecs.open("dddd.txt", 'r', "utf-8")
如果使用语言内建的open函数来打开文件,输出必定是乱码。
相关文章推荐
- Python相关文章索引(10)
- Python相关文章索引
- 《Python相关文章索引(1)》
- 《Python相关文章索引(2)》
- Python相关文章索引
- Python相关文章索引(3)
- Python相关文章索引(4)
- Python--本博客 Python 文章相关索引
- Python相关文章索引(8)
- Python相关文章索引(5)
- Python相关文章索引(11)
- Python相关文章索引(6)
- Python相关文章索引(7)
- Java相关文章索引(8)
- 计算机图形学系列相关文章索引(持续更新)
- Hive相关文章索引(2)
- JAVA相关文章索引(6)
- Spark相关文章索引(3)
- 《JAVA相关文章索引(1)》
- Python编码相关文章推荐