欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基本语法和注意事项

程序员文章站 2022-04-13 20:52:17
...

1.几个常用的网站

Python IDE下载:

(1) Python(x,y)的官方下载地址

(2) Python(x,y)的其他下载地址

(3) Anaconda下载地址(推荐下载此IDE,网站稳定,使用方式与Python(x,y)基本一样)

2.Python参考教程和网站

(1)Magnus Lie Hetland, Beginning Python: from Novice to Professional, 2ndedition, Apress.(第二版中译版名为《Python基础教程》)

(2)  WesleyChun, Core Python Applications Programming, Prentice Hall.(第二版中译版名为《Python核心编程》)

(3) SciPy科学计算:http://www.scipy.org/

(4)  WesMcKinney, Python for Data Analysis.东南大学出版社.(英文影印本,中译版名为《利用Python进行数据分析》

3.pylab 与matplotlib.pyplot的区别

前者包含后者的功能,并且包含以下numpy等的函数

Pandas作图优点在于支持series和DataFrame数据类型

 

关于基本语法问题:

 

1,变量作用域问题:

Def f(x)

       print a

       a=1

print a+x

a=2

f(3)

 

关于会不会报错,全看a=1那一行有没有:

若有,则程序认为a是局部变量,所以第一行print a 在变量申明前就调用,会报错。

若没有,则程序认为a是全局变量,不会报错。

若需要在函数里改变全局变量的值,则需要声明a为global a

2,打开文件的路径前面有r,如r'd:\\infile.txt':

r表示路径中的字符不需要转义,即\\不会转义成\

3,关于列表a与元组b:

列表元组中的元素可以是不同类型的

sorted(a)与a.sort() 不同,函数返回的值都一样,但是前者不会改变列表a本身的元素顺序,后者会改变

sorted(b)与b.sort() 与上面类似,由于元祖不能改变,执行b.sort()会出错

其次,函数读取的多个参数以及返回的多个参数,默认是tuple类型的

集合set的主要作用是去重

4,python中is与==的区别:

Python中的对象包含三要素:id、type、value其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对象的值是否和b对象的值相等,是通过value来判断的,如:

>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True

5,list tuple以及dict均是可以迭代的对象,都可以写成 for info in xxx的形式

6,函数传入的参数如果是可变参数用(*args,**kw),但是如果传入的是一个确定list,该参数并不是可变的,不需要用*args

7,关于什么时候需要进行转义,对于原始字符串一般需要输入是什么就是什么,但是对于特定输入才需要转义,如正则表达式,由于[ ]有特殊含义,才需要将[ ]进行转义\[ \]

8.矩阵相乘的区别:

ndarray的形式,两个矩阵用*不是线性代数中的乘法,而是元素对应相乘,需要使用np.dot才行。

np.mat()生成的矩阵形式数据可以直接用*相当于线代中的乘法。

9. dataframe间的表之间的值传递可以直接按照对应的index传递,不需要专门整理表中数据,如:

df1=

python基本语法和注意事项

df2=

python基本语法和注意事项

 df3=

python基本语法和注意事项
df1['d']=df3['d']

df2['d']=df3['d']

由此可以将对应的'd'的值赋值给df1和df2

10. 注意df2['a']与df[['a']]的区别,前者是series,没有column了,后者还是DataFrame,列是['a']

11.关于pandas.merge的相关说明,(参数分别指明左右表要用作连接键的列,不是以前理解的一定要是相同的列名才能连接)

python基本语法和注意事项

12.注意sklearn中的几个功能:

StratifiedKFold与KFold的区别:前者分层采样,能确保各类样本的比例

RandomTreesEmbedding:利用随机的树模型对特征进行映射到高维,之后可以对高维稀疏特征采用LR训练

ExtraTreesClassifier:随机森林的升级版,增加随机性,更好的降低variance