(Python)小记2

逻辑回归:

1、data.drop_duplicates(inplace = True)    # 去除重复项

     data.index = range(data.shape[0])        # 删除之后,要恢复索引,否则默认行数还是不变,只是将内容删除

2、# 查看每一列的缺失情况
        data.isnull().sum() / data.shape[0]

《===等价===》data.isnull().mean()

3、# 显示这一列所有的取值
     data.loc[:,"NumberOfTimes90DaysLate"].value_counts()

4、# 显示这一列所有的取值
     data.loc[:,"NumberOfTimes90DaysLate"].value_counts()

5、# 打印时可参考下面的格式,要填入的内容在中括号中

     print('样本个数:{};1占{:.2%}; 0 占{:.2%}'.format(n_sample,n_1_sample / n_sample,n_0_sample / n_sample))

6、#按照等频对需要分箱的列进行分箱

# dataframe['列名']   当这个列存在的时候,就是索引;当这个列不存在的时候,DataFrame会自动生成叫这个列名的一个新的列

model_data['qcut'],updown =pd.qcut(model_data['age'],retbins = True,q = 20)

pd.qcut ,基于分位数的分箱函数,本质是将连续型变量离散化
只能够处理一维数据。返回箱子的上限和下限
参数 q :要分箱的个数
参数 retbins=True 来要求同时返回结构为索引为样本索引,元素为分到的箱子的 Series
现在返回两个值:每个样本属于哪个箱子,以及所有箱子的上限和下限
# 在这里时让 model_data 新添加一列叫做 分箱 ,这一列其实就是每个样本所对应的箱子

7、#使用数据透视表的功能groupby

model_data[model_data['SeriousDlqin2yrs']== 1].groupby(by  = 'qcut').count()['SeriousDlqin2yrs']

8、# 使用zip可以实现将列表变成元组

   如:[*zip([1,2,3],['a','b','c'])]

    结果显示为:[(1,'a'),(2,'b'),(3,'c')]

9、# 改变行列

a = np.random.random((2,4))

a.reshape(4,2)        #《=====等价于=====》np.reshape(a,(4,2))

SVM:

1、# 对数据进行标准化,将数据转化为在(0,1)之间的正态分布
from sklearn.preprocessing import StandardScaler
X = StandardScaler().fit_transform(X)

2、np.unique(y)  # 表示去重,查看有几个值

3、# 使用降维
from sklearn.decomposition import PCA

X_dr = PCA(2).fit_transform(X)

1、查看数据类型

df[''].dtype

2、字符串格式转时间类型

import datetime 

data=datetime.datetime.stripttime(i,'%Y-%m-%d %H:%M:%S')

你可能感兴趣的:(Python,python,flask,数据库)