美文网首页
python study tips

python study tips

作者: 春来草木萌 | 来源:发表于2019-12-28 16:16 被阅读0次
pip3 install --upgrade pip --user 升级pip到最新版本
pip配置清华源

参考: https://www.cnblogs.com/sky-ai/p/9800036.html

pandas判断是否是空项要使用pd.isnan()而绝对不能使用np.NaN == xx,

参考https://blog.csdn.net/weixin_41712499/article/details/82719987

print(np.NaN == np.NaN)
#结果为False!!!
pandas显示不完整问题/科学计数法问题(python3.7.3)
import pandas as pd
#设置显示的最多行数(这里设置为200)
pd.set_option('display.max_rows', 200)
#显示的所有行
pd.set_option('display.max_rows', None)

#设置显示的最多列数
pd.set_option('display.max_columns', 200)
#显示所有列
pd.set_option('display.max_columns', None)

#(每)一列(的每一项)显示的最大字符数
pd.set_option('max_colwidth',200)
pandas.Series.where方法和pandas.Series.mask方法
def where(
        self,
        cond,
        other=np.nan,
        inplace=False,
        axis=None,
        level=None,
        errors="raise",
        try_cast=False,
    ):
    ...
#如果 cond 为真,保持原来的值,否则替换为other
def mask(
        self,
        cond,
        other=np.nan,
        inplace=False,
        axis=None,
        level=None,
        errors="raise",
        try_cast=False,
    ):
    ...
    return self.where(
        self,
        cond,
        other=np.nan,
        inplace=False,
        axis=None,
        level=None,
        errors="raise",
        try_cast=False,
    )

@classmethod 是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。 类方法的第一个参数cls,而实例方法的第一个参数是self,表示该类的一个实例。
普通对象方法至少需要一个self参数,代表类对象实例
类方法有类变量cls传入,从而可以用cls做一些相关的处理。并且有子类继承时,调用该类方法时,传入的类变量cls是子类,而非父类。 对于类方法,可以通过类来调用,就像C.f(),有点类似C++中的静态方法, 也可以通过类的一个实例来调用,就像C().f(),这里C(),写成这样之后它就是类的一个实例了。
静态方法则没有,它基本上跟一个全局函数相同,一般来说用的很少

python 定义类
class A:
    def __init__(self, arg=1):
        A.arg = arg
        # self.arg = arg


class B:
    def __init__(self, arg=2):
        B.arg = arg
        # self.arg = arg

# 基本的定义方式 class + 类名 + :
# class ClsName:
# 没有参数的话,括号可加可不加
# class ClsName():
# class ClsName(object):
# 如果是继承的话, 括号里跟的是父类,默认的父类都是object,可以省略
# !!!! 注意: 继承的话,如果没有__init__函数,那么会依次从左到右执行父类的__init__函数
# pass关键词:使用pass关键字,表示一个占位符,在程序运行时,此处不会执行任何操作,也能保证程序逻辑的正确性
class ClsName(A, B):
    def __init__(self, arg=3):
        # self.arg = arg
        pass

    # 符号*前面的参数可以带args=也可以不带, *后面的参数必须要带key=
    def f1(self, args='a1', *, key='1'):
        self.args = args
        self.key = key
        return A.arg


if __name__ == '__main__':
    A() # 初始化A,类变量A.arg赋值完成,如果没有这行代码,print(a.f1())会报错
    a = ClsName()
    a.f1('a2', key='2')
    # 类的方法__mro__可以查看继承,所有类的最终父类都是<class 'object'>
    print(ClsName.__mro__)
    # 输出: (<class '__main__.ClsName'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
    print(a.f1())
    # 输出: 1

     
scikit-learn数据预处理fit_transform()与transform()的区别

参考(https://me.csdn.net/capecape)

无论是scikit-learn提供的转换器,或是Pipeline,或是FeatureUnion中,
我们使用fit_transform处理完数据后,想要沿用刚刚处理结果中的各项指标,则继续使用transform来处理新的数据即可.
但是如果此时我们调用fit_transform来处理新的数据,则各种指标会在新数据中重新获取,旧的指标清零.
那么会出现:对于新的数据,fit_transform得到的结果跟transform不同,也不符合我们的要求.

未调用过fit_transform直接调用transform会报错.

准确率(查准率),召回率(查全率),真正例率,假正例率区别

https://www.jianshu.com/p/1afbda3a04ab

对于二分类问题:

真正例(TP):实际上是正例的数据点被标记为正例
假正例(FP):实际上是反例的数据点被标记为正例
真反例(TN):实际上是反例的数据点被标记为反例
假反例(FN):实际上是正例的数据点被标记为反例

axis=0和1的理解

https://www.cnblogs.com/rrttp/p/8028421.html

相关文章

网友评论

      本文标题:python study tips

      本文链接:https://www.haomeiwen.com/subject/wvatwctx.html