python 的全局变量和局部变量
摘要:首先我们看一段代码,是不是有很多疑惑 def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): nonlocal spam spam = "nonlocal spam" def do_global(): glob
阅读全文
posted @
2020-12-28 23:25
小小喽啰
阅读(1493)
推荐(0) 编辑
征信报告
摘要:一、征信报告中,最近2年的还款计划出现的符号 二、信用卡还款状态 2.1信用卡呆账 一般的信用卡呆账形成的原因有两种,第一种就是信用逾期,也就是我们常见的没有按时还款。在信用逾期之后,银行一般会先进入催收程序,但是不排除有有些人,即便是银行不断催收,依旧不还款的。这样,信用卡就会处于长期的呆滞状态,
阅读全文
posted @
2020-12-28 10:42
小小喽啰
阅读(312)
推荐(0) 编辑
np.concatenate()用来合并list(根据ID去合并这一列的list)
摘要:一个df,如果将两列的数据合并为一列( 比如第一列是省份,第二列是城市,我们想要省市)直接相加即可,但是如果第一列是ID,每个ID对应有多行,其中某列是一个list,我们想要根据ID去合并这一列的list,比如: 那么就得这样处理 t[['reportno','data_list']].groupb
阅读全文
posted @
2020-12-25 16:09
小小喽啰
阅读(857)
推荐(0) 编辑
numpy函数hstack,vstack,dstack把几个小数组合并成一个大数组
摘要:vstack、hstack和dstack都用于把几个小数组合并成一个大数组。它们的差别是小数组的元素在大数组中的排列顺序有所不同 一、vstack vstack实现了轴0合并。vstack的字母v表示vertical的意思,相当是追加的意思 numpy.vstack(tup) tup:两个数组,除第
阅读全文
posted @
2020-12-25 15:51
小小喽啰
阅读(893)
推荐(0) 编辑
numpy.repeat 重复数组的元素(可用于数组的广播)
摘要:有时候,我们需要根据某列的分成多列,那么,有些列就需要重复多次,比如说: newvalues=np.dstack((np.repeat(t.reportno.values,list(map(len,t.data_list.values))),np.concatenate(t.data_list.va
阅读全文
posted @
2020-12-25 14:50
小小喽啰
阅读(4889)
推荐(0) 编辑
df 根据某列去拆分或者合并
摘要:一、拆分 如果是拆分,那么那一列的值应该是list类型,比如: 我们需要根据data_list列去拆分,至于我怎么只挑了一个ID列和待分裂列,那是方便操作,剩余的我们可以使用merge,我就不赘述了 newvalues=np.dstack((np.repeat(t.reportno.values,l
阅读全文
posted @
2020-12-25 11:37
小小喽啰
阅读(1300)
推荐(0) 编辑
计算有多个开始结束日期的总历时月份或者年份
摘要:比如说用户有多笔贷款,每个贷款都有开始和结束时间,那么我们需要计算用户需要还款的总的月份(年份)(或者说贷款持续时间),如: 我们需要计算用户需要还款的月份数,以便于后面计算平均月供,由于有些日期是重合的,我们就不能计算多次。还有一些是跳跃的,也不能多计算,不能直接使用最大最小时间去计算差值 有两种
阅读全文
posted @
2020-12-25 10:01
小小喽啰
阅读(278)
推荐(0) 编辑
python isinstance() 判断一个对象是否是一个已知的类型
摘要:总结: 1.isinstance() 函数要注意里面的type参数不能带引号,以及类型只能是单个type,或者是多个type组成的tuple 2.isinstance() 函数可以配合 while和if使用,作为判断条件,是的我们的代码更加简洁,比如: if isinstance(frac, flo
阅读全文
posted @
2020-12-23 20:48
小小喽啰
阅读(1593)
推荐(0) 编辑
Python 读取pkl文件
摘要:见代码: # -*- coding: UTF8 -*- # cPickle是python2系列用的,3系列已经不用了,直接用pickle就好了 import pickle # 重点是rb和r的区别,rb是打开2进制文件,文本文件用r f = open('E:\\xxxx.pkl','rb') car
阅读全文
posted @
2020-12-23 09:28
小小喽啰
阅读(4639)
推荐(0) 编辑
pandas isin 和not in
摘要:查找df 中存在某些字段,可以使用isin,但是没有not in ,我们可以这样实现 # IN count_df[count_df.reportno.isin(t_reportno)] # NOT IN count_df[~count_df.reportno.isin(t_reportno)] 其中
阅读全文
posted @
2020-12-22 19:41
小小喽啰
阅读(1460)
推荐(0) 编辑
计算datetime.date n个月后(前)的日期
摘要:我们很想有一个函数可以实现日期+n,就能得到日期n个月后的日期,比如说2020-12-10 +2 =2021-02-10,那么该如何实现: import datetime from dateutil.relativedelta import relativedelta if __name__ ==
阅读全文
posted @
2020-12-22 14:21
小小喽啰
阅读(735)
推荐(0) 编辑
pandas 重命名MultiIndex列
摘要:复合列名不好引用,我们想重新命名,假如有如下表: 我们直接使用重命名 card_state_nouse = card_state_nouse.rename(columns={('ref_id', 'count'):'weijihuo_count',('creditlimitamount', 'sum
阅读全文
posted @
2020-12-21 15:50
小小喽啰
阅读(2932)
推荐(1) 编辑
时间序列分析方法(纯方法论)
摘要:一、朴素法 所谓朴素法,是假定下一期的需求于最近一期需求相同,换句话说,如果某产品销量头一个月是多少台,我们可以预测第二个月的销量仍然是多少台。事实证明,对某些产品线而言,朴素法是效益费用比最高的预测模型 朴素法是其它一些更复杂的时间序列分析方法的出发点。朴素法是最简单的预测方法 缺点:朴素法并不适
阅读全文
posted @
2020-12-18 17:52
小小喽啰
阅读(2163)
推荐(0) 编辑
pandas.DataFrame.resample()重新采样时间序列数据
摘要:重新采样时间序列数据 频率转换和时间序列重采样的便捷方法。对象必须具有类似datetime的索引(DatetimeIndex, PeriodIndex或TimedeltaIndex),或将类似datetime的值传递给on或level关键字 DataFrame.resample(rule, axis
阅读全文
posted @
2020-12-18 16:42
小小喽啰
阅读(1580)
推荐(0) 编辑
statsmodels.tsa.seasonal.seasonal_decompose使用移动平均线进行季节性分解
摘要:所谓分解就是将时序数据分离成不同的成分,分解有:长期趋势Trend、季节性seasonality和随机残差residuals statsmodels使用的X-11分解过程,它主要将时序数据分离成长期趋势、季节趋势和随机成分。 与其它统计软件一样,statsmodels也支持两类分解模型,加法模型和乘
阅读全文
posted @
2020-12-18 16:21
小小喽啰
阅读(7998)
推荐(0) 编辑
时间序列 statsmodels.api.tsa
摘要:一点点介绍: 首先po上api文档:https://www.statsmodels.org/stable/api.html#statsmodels-tsa-api 大致有这些东西:
阅读全文
posted @
2020-12-18 16:01
小小喽啰
阅读(2316)
推荐(0) 编辑
pandas rolling()根据时间窗口计算滚动(时间序列有关)
摘要:这个函数的主要作用是根据时间(天,月,季度,年等)去看看数据的变化趋势,是下降了还是上升了,最后还要分析趋势的原因,结合业务逻辑去分析 可以根据某个时间周期,计算数据的变化,主要用于时间序列上面 DataFrame.rolling(window,min_periods = None,center =
阅读全文
posted @
2020-12-18 15:35
小小喽啰
阅读(5782)
推荐(0) 编辑
pandas astype()将数据转化为指定的数据类型(可多列操作)
摘要:功能:将pandas对象转换为指定的dtype DataFrame.astype(dtype,copy = True,errors = 'raise') 参数: dtype:data type, or dict of column name -> data type,使用numpy.dtype或Py
阅读全文
posted @
2020-12-18 15:02
小小喽啰
阅读(6043)
推荐(0) 编辑
spyder editor 按下tab键无法补全问题
摘要:参考文章:https://stackoverflow.com/questions/18044312/spyder-does-not-autocomplete-local-variables pip install rope_py3k 即可,但是还是很慢,但总比不出来的好
阅读全文
posted @
2020-12-18 11:46
小小喽啰
阅读(464)
推荐(0) 编辑
python 的 None and nan
摘要:由于None的存在,我们使用一些函数时就总会收到干扰,因此需要增加一个判断条件去完善它 None表示空值,它是一个特殊 Python 对象, None的类型是NoneType None在 Python 解释器启动时自动创建, 解释器退出时销毁。在一个解释器进程中只有一个 None 存在, 因为不可能
阅读全文
posted @
2020-12-18 10:02
小小喽啰
阅读(813)
推荐(0) 编辑
卡方检验(两个类别变量是否独立)以及chi2_contingency
摘要:百度百科的解释: 卡方检验: 就是用来验证两个类别变量是否独立,还是相关 就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。 例子:
阅读全文
posted @
2020-12-16 17:46
小小喽啰
阅读(13485)
推荐(0) 编辑
变异系数(Coefficient of Variation)比较两组数据离散程度
摘要:变异系数(Coefficient of Variation) 用法: 当需要比较两组数据离散程度大小的时候,如果两组数据的测量尺度相差太大,或者数据量纲的不同,直接使用标准差来进行比较不合适,此时就应当消除测量尺度和量纲的影响,而变异系数可以做到这一点,它是原始数据标准差与原始数据平均数的比。 计算
阅读全文
posted @
2020-12-15 11:00
小小喽啰
阅读(11362)
推荐(0) 编辑
预测信用卡流失客户
摘要:kaggle数据地址:https://www.kaggle.com/sakshigoyal7/credit-card-customers 导入数据 #导入模块 import pandas as pd import numpy as np import matplotlib.pyplot as plt
阅读全文
posted @
2020-12-11 15:18
小小喽啰
阅读(1643)
推荐(0) 编辑
Python 去掉从Excel读取的空格\xa0
摘要:我们使用xlrd 模块读取数据时,如果Excel中的文字存在着空格,这个我们就得去掉只写空格 如何去除? ''.join(data_end3.iloc[5].region.split()) #只需要 ''.join(string.split()) #join(): 连接字符串数组。将字符串、元组、列
阅读全文
posted @
2020-12-11 14:25
小小喽啰
阅读(2499)
推荐(0) 编辑
嵌套列表切片
摘要:比如说,一个list的每个元素都是有list组成,也即是嵌套list,我们要取每个list的首个元素 L = [['10086','中国移动'],['10010','中国联通']] print([x[0] for x in L]) #['10086', '10010'] print([x[1] fo
阅读全文
posted @
2020-12-11 14:16
小小喽啰
阅读(284)
推荐(0) 编辑
写函数思路
摘要:1.dict的反转 #主要思路,不写表达式,在表达式直接放在return def reverse_dict(d): ''' 就是字典的反转,key,value互换,但是注意value不能有重复值 ''' return {value:key for key,value in d.items()} 2.
阅读全文
posted @
2020-12-09 20:33
小小喽啰
阅读(37)
推荐(0) 编辑
while、for 、if 等区别
摘要:我们写函数时经常需要使用 循环,下面就总结一下
阅读全文
posted @
2020-12-09 19:34
小小喽啰
阅读(742)
推荐(0) 编辑
直方图和折线图放在同一画布上
摘要:有时候我们需要画出分箱后的个数直方图和每个区间的逾期率,大概图形就像下面一样 直接给出代码 #构建数据 import pandas as pd import numpy as np data = pd.DataFrame({ 'A':list('红橙黄绿蓝靛紫'), 'B':np.random.ra
阅读全文
posted @
2020-12-09 14:25
小小喽啰
阅读(1266)
推荐(0) 编辑
numpy 的axis=0,1具体含义
摘要:首先看一下这个例子 import numpy as np a=np.arange(8).reshape(2,2,2) print(a.sum(axis=0)) print(a.sum(axis=1)) print(a.sum(axis=2)) ''' 输出如下: [[ 4 6] [ 8 10]] [
阅读全文
posted @
2020-12-08 09:51
小小喽啰
阅读(171)
推荐(0) 编辑
matplotlib绘制单个、多个、堆积、双向柱形图
摘要:总结,主要是bar以及barh的用法,画堆叠图时还得注意一下数据类型,是否都是可加(数值型还是字符型,又或者是list等),如果不是,就是要np.array转化,还有竖图和横图间隔的设置,width和height,最后,数据都是最后的结果,数据值个数不能太多,一般不超过10个,如果是连续性数据,请先
阅读全文
posted @
2020-12-07 14:58
小小喽啰
阅读(4740)
推荐(0) 编辑
画多变量的直方图,也就是说x坐标都一样,每个直方图代表着一类变量
摘要:总结:分别使用df.plot,sns,plt三种取实现多变量的直方图 一、df.plot() 针对每个变量画直方图,每组直方图的x轴一样,也就是说画多变量的直方图,如果x轴是某列,则需要先设置某列为index,因为这个默认index作为x轴 x=range(1,6) sabf = (27,53,81
阅读全文
posted @
2020-12-07 11:22
小小喽啰
阅读(1368)
推荐(0) 编辑
sns.factorplot()绘制两维变量的关系图
摘要:factorplot 用于绘制两维变量的关系图,也就是共用x坐标,按照hue分组,画出不同hue种类的y 的值,用kind可指定其作图类型,包括:point, bar, count, box, violin, strip等 目前还没有在官网找到对应的文档 但是记住: 参数kind:point默认,b
阅读全文
posted @
2020-12-07 11:00
小小喽啰
阅读(2045)
推荐(0) 编辑
sns.jointplot()双变量图,也就是双变量独自的分布图,以及这双变量的相关性图
摘要:数据分析中常用做图的方式实现相关性分析,即X轴设置为变量A,Y轴设置为变量B,做散点图,由于散点图中点的叠加显示,往往还需要关注每个变量自身的分布情况,jointplot把描述变量的分布图和变量相关的散点图组合在一起,是相关性分析最常用的工具,图片上还能展示回归曲线,以及相关系数 import st
阅读全文
posted @
2020-12-07 10:06
小小喽啰
阅读(13208)
推荐(0) 编辑
sns.set_context()设置绘图上下文参数,但主要是可以用于设置图片大小
摘要:sns.set_context() 传入参数是字典形式,具体参数就不多说了,我主要用于设置图片大小,看代码 sns.set_style("white") sns.set_context({"figure.figsize": (12, 8)}) #Plot 2 - overlay - "bottom"
阅读全文
posted @
2020-12-03 20:52
小小喽啰
阅读(1900)
推荐(0) 编辑
plt.legend()给图像加上图例,以区分哪个图形属于哪个
摘要:用于多个图形画在同一画框中,以区分哪个图形属于哪个 import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 2 * np.pi, 50) y = np.sin(x) plt.plot(x, y) plt.plot(x
阅读全文
posted @
2020-12-03 20:46
小小喽啰
阅读(839)
推荐(0) 编辑
画堆积柱形图
摘要:一、plt画堆积柱形图 只需要这个一个参数(bottom=y)就OK了 import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams
阅读全文
posted @
2020-12-03 19:26
小小喽啰
阅读(1859)
推荐(0) 编辑
用于聚类的信用卡数据
摘要:本数据主要用于看看kmean是如何实现,以及kmeans怎么寻找最优k值 数据来源https://www.kaggle.com/arjunbhasin2013/ccdata 样本数据集在过去6个月中总结了9000(8950 rows × 18 columns)活跃的信用卡持有人的使用行为。该文件处于
阅读全文
posted @
2020-12-03 16:18
小小喽啰
阅读(1090)
推荐(0) 编辑
numpy 的布尔值切片
摘要:我们做模型时,可能需要画不同类别的标记不同颜色的值,因此就需要的numpy的布尔值索引,比如说: # 导入可视化工具包 import matplotlib.pyplot as plt %matplotlib inline from sklearn.datasets import load_iris
阅读全文
posted @
2020-12-02 11:45
小小喽啰
阅读(370)
推荐(0) 编辑
sklearn.manifold.TSNE可视化高位数据工具
摘要:manifold learning流形学习 多维度数据集非常难于可视化。反而2维或者3维数据很容易通过图表展示数据本身的内部结构,等价的高维绘图就远没有那么直观了。为了实现数据集结构的可视化,数据的维度必须通过某种方式降维。 最简单的降维手段是数据的随机投影。虽然这种方式实现一定程度的数据结构可视化
阅读全文
posted @
2020-12-02 10:20
小小喽啰
阅读(3367)
推荐(0) 编辑
kmeans原理
摘要:一、kmeans概述 K-means聚类算法也称k均值聚类算法,属于无监督学习的一种,k-means聚类无需给定Y变量,只有特征X。 K-means聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最
阅读全文
posted @
2020-12-01 19:14
小小喽啰
阅读(2630)
推荐(0) 编辑