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[3] = -1是最小值。
如果设y=np.argsort(x)后,
便sort后为,
因此y[0]代表最小值-1在中的。
解释完毕。
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 syssys.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博客↩︎