Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 - CSDN博客
解决方案是路径前面加r
,如
r'xxx'
在R中还没有找到方案,只能用替换了,把那些\
替换成/
。
Help 功能
jupyter
支持tab
键代码自动补全,但是是杨修。
如果想查询某些函数的具体帮助信息,可以使用?
关键字。
import numpy as np
np.rank?
决策树环节importances排序问题
ddd = pd.concat([pd.DataFrame(X_train.columns), pd.DataFrame(importances)], axis = 1)
ddd.columns = ["name", "imp"]
ddd.sort_values(by=["imp"],ascending = False)["imp"].sum()
验证了,
pd.DataFrame(X_train.columns)
和pd.DataFrame(importances)
的index相同,因此直接concat
注意,列并,所以axis=1
然后改变变量名称,用.columns = []
。
用sort_values
排序。
.sum()
验证了,这个权重和为1。
因此这个从高到低排序,看哪部分变量衰减最多,去那个点之前的地方进行阈值选取。
np.argsort()
的解释
例如\(x=[1,4,3,-1,6,9]\),
对应的\(index_x = [0,1,2,3,4,5]\)。
因此x[3] = -1
是最小值。
如果设y=np.argsort(x)
后,
\(x\)便sort后为\([-1,1,3,4,6,9]\),
因此y[0]
代表最小值-1
在\(x\)中的\(index_x=3\)。
解释完毕。
python导入自己包的技巧
在Python中,一个.py文件就称之为一个模块(Module)。
请注意,每一个包目录下面都会有一个__init__.py
的文件,
这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。
__init__.py
可以是空文件,也可以有Python代码,因为__init__.py
本身就是一个模块,而它的模块名就是mycompany。
文件www.py
的模块名就是mycompany.web.www
,两个文件utils.py
的模块名分别是mycompany.utils
和mycompany.web.utils
。
import sys
sys.path
返回结果:
['',
'C:\\ProgramData\\Anaconda3\\python36.zip',
'C:\\ProgramData\\Anaconda3\\DLLs',
'C:\\ProgramData\\Anaconda3\\lib',
'C:\\ProgramData\\Anaconda3',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Babel-2.5.0-py3.6.egg',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
'C:\\Users\\lijiaxiang\\.ipython']
import sys
sys.path.append(’引用模块的地址')
例如:
import sys
sys.path.append('C:/Users/lijiaxiang/Desktop/model')
1
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-13-b841c103bdb2> in <module>()
1 import sys
2 sys.path.append('C:/Users/lijiaxiang/Desktop/model')
----> 3 from model import baichuan
ModuleNotFoundError: No module named 'model'
因为model
下没有__init__.py
,自己新建一个就好了。
.format
在String中套用函数功能
'''
...
where userid = {}
'''.format(userid)
要学会print
最后要print main(68758684)
,
main(68758684)
没有用。
main
是一个主函数,只要给userid
,就反馈分数。
另外,.format()
是函数里面录入sql的方法。
pd.merge
如果key不同
left_on
, right_on
import pdb;pdb.set_trace()
debug神器
每一步都好好看下。
import pdb;pdb.set_trace()
if 'cmcnt_pai_exc_l7d' not in df.columns.tolist():
df['cmcnt_pai_exc_l7d'] = None
使用Linux的路径: ‘d:/a.txt’, 这在Linux和window下都是行的通的。* Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 - CSDN博客↩