- 博客(61)
- 问答 (11)
- 收藏
- 关注
原创 外部数据源汇总
根据昨天文章的反馈进行了少许修改,删除一家数据源(因为资料较老,与该公司现有产品相差较大),银联的公司背景和数据来源做了修改。整理不易,大家且看且珍惜。一、同dun公司背景:数据来源:自有数据覆盖:40亿给类数据节点,4亿手机号码,15亿可追踪设备数,5000家行业客户,4000多万负面数据,3000万日度调用量。主要产品:查询多头、设备指纹、智信分、智融分、智选分、行为评分、猎客雷达、数据画像(多头趋势类)优势特点:智选分用于预授信和客户分层营销;猎客雷达是响应分,用于响应预测;智信分是三方数据评分
2024-08-27 15:32:40
1047
1
原创 iris 鸢尾花数据集&画图
import seaborn as snssns.set(style=“whitegrid”, palette=“husl”)iris = sns.load_dataset(“iris”)print (iris.head())print (iris.feature_names) # input namesprint (iris.target_names) # output namesprint (iris.DESCR) # everything elseiris = pd.melt(iris, “s
2022-09-09 11:35:35
775
原创 Python 批量读取文件夹中的excel
path=r'D:\20201015'files=os.listdir(path)alldata=pd.DataFrame()for file in files[1:-1]:# print(file) data=pd.read_csv(file,header=None,error_bad_lines=False,encoding='utf-8')# data=data[[0,4,11]]# data.columns=['applyId','sj','desc.
2022-04-24 03:12:12
4077
原创 Python dataframe_去重复列_列名vlookup且替换
1、dataframe去掉列重复的,以(_y)结束的列2、以_x结尾的列去掉 _x3、列名加上中文(中引文字段名)先列名取出来,用dataframe处理,再取dataframe处理好的那列作为列名
2022-04-14 15:34:11
1590
原创 类别不平衡问题之SMOTE算法(Python imblearn极简实现)
类别不平衡问题注1:x均转为为float类型才行注:自己电脑上,做以下改动方可用fit_sample 改为 fit_resampleratio={1: 300 } 改为 sampling_strategy={4:94}类别不平衡问题,顾名思义,即数据集中存在某一类样本,其数量远多于或远少于其他类样本,从而导致一些机器学习模型失效的问题。例如逻辑回归即不适合处理类别不平衡问题,例如逻辑回归在欺诈检测问题中,因为绝大多数样本都为正常样本,欺诈样本很少,逻辑回归算法会倾向于把大多数样本判定为正常样
2022-03-30 17:46:32
1909
1
原创 Python 索引index相关
1、将列转为indexdf.set_index('sp',inplace=True) #原有的sp列会被删除df.index=df['sp'] #原有的sp列会保留2、将index转列df['sp']=df.index 3、删除原有的sp的index,重新为1234df=df.reset_index(drop=True) #要有等号df=df...
2022-03-23 23:29:40
839
原创 Python上安装xgboost
用anaconda的亲测有效:打开anaconda自带的Prompt,输入anaconda search -t conda xgboost在里面找到可以在win64上安装的包的名字,应该是“anaconda py-xgboost”,输入conda install -c anaconda py-xgboost
2022-03-14 17:50:56
2171
原创 信贷指标解读
首逾:量化评估欺诈风险1、选取数据若客户有多笔,则观测第一笔借据的第一期还款情况。若第一天有多笔借据,则第一次借款当天所有的借据都共同代表客户的行为。2、首逾判断对于有多笔借据代表客户行为的客户,有任意一笔正常还款都不算首逾客户,因为如果是欺诈客户,每笔都不会还。3、首逾计算整体首逾率=首逾借据数/当前时点借据总数到期首逾率=首逾借据数/当前时点到了首期还款日(已有表现)...
2022-03-03 17:37:23
425
原创 python生成时间列表
python生成时间列表yearmonthday = pd.date_range(“2020-07-01”,“2020-12-31”,freq=“D”).strftime("%Y%m%d").to_list()month = pd.date_range(“2020-07-01”,“2020-12-31”,freq=“M”).strftime("%Y%m").to_list()day = pd.date_range(“2020-07-01”,“2020-12-31”,freq=“D”).strftime
2022-01-24 10:35:15
1304
原创 Python 生成连续月份列表
pd.date_range('2014-10-10','2016-01-07', freq='MS').strftime("%Y-%m").tolist()
2021-11-30 16:28:07
1693
原创 Spyder打开多个窗口运行多个程序
问题:spyder所有的执行结果都在一个结果窗口中,同时处理2个事情比较容易混乱,或者其中一个脚本执行时间很长,就无法做其他事情。解决:1、第一个窗口,快捷方式,正常打开的方式;2、第二个窗口,打开Anaconda Prompt终端,通过activate命令激活想要使用的环境(如 activate tensorflow2),输入:spyder --new-instance或spyder --new instance就可以打开另外一个窗口;重复第二个窗口的打开方式,就可以打开更多的窗口。...
2021-11-28 15:08:01
5976
原创 tuple转dataframe
python read_sql以后结果不是dataframe,而是tuple,所以要转。但是转化以后没有列名。。。。import pandas as pds = ((1,0,0,0,),(2,3,0,0,),(4,5,6,0,),(7,8,9,10,))print pd.DataFrame(list(s))
2021-11-22 18:23:50
3078
转载 python 删除 DataFrame表的最后一行的正确方法
import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])print("df",df) # df.drop([-1],inplace=True)df.drop([len(df)-1],inplace=True)print("df",df)注意不要用df.drop([-1],inplace=True),这个写法不对...
2021-11-21 17:43:57
2964
原创 python 生成一个时间列表-本月截至当前(1号则为上月)relativedelta,当前时间为基础加减
需求:生成月初至昨天的日报,若今日为1号,则为上月整月的数据from datetime import datetimefrom dateutil.relativedelta import relativedeltaimport pandas as pdedate=datetime.today().date()+relativedelta(days=-1)bdate=datetime(edate.year,edate.month,1)date_l=pd.date_range(bdate,edate
2021-11-21 16:55:26
337
原创 python dataframe 某一列string转int 字符转数字 python could not convert string to float
df_raw['PricePerSeat_Outdoor'] = df_raw['PricePerSeat_Outdoor'].apply(pd.to_numeric,errors='coerce'),errors=‘coerce’ 未知可不加
2021-11-21 15:18:22
5126
原创 python gc模块垃圾回收
#加载gc模块import gc#垃圾回收#gc.collect() 返回处理这些循环引用一共释放掉的对象个数gc.collect()
2021-11-17 11:07:04
181
原创 python数据处理——获得pandas dataframe中字符串里的数字 str.extract
for i in df.columns:df[i] = df[i].str.extract(’(\d+)’)
2021-11-13 16:47:11
4317
原创 Python apply,applymap和map的应用
#apply,applymap和map的应用apply 用在dataframe上,用于对row或者column进行计算;applymap 用于dataframe上,是元素级别的操作;map (其实是python自带的)用于series上,是元素级别的操作。
2021-11-13 16:43:56
363
原创 python中的数据透视表pivot_table
index:行values:列aggfunc:列的操作columns:对列再细分,可省略#pivot aggfunc转置rfm = df.pivot_table(index = 'user_id', values = ['order_products', 'order_amount', 'order_dt'], aggfunc = {'order_dt':'max', 'order_amount':'sum', 'order_products':'sum' }) ......
2021-11-13 16:42:59
369
原创 Python df.groupby(a,as_index=False)[‘‘].sum().sort_values(‘‘,ascending=False).reset_index(drop=True)
#as_index=False结果的列名与之前一致aa=chipo.groupby(['item_name'],as_index=False)['quantity'].sum() #大类的销售金额 reset_index(drop=True) 删除原indexdaleijine=df.groupby(['大类名称'],as_index=False)['销售金额'].sum().sort_values(['销售金额'],ascending=False).reset_index(drop=True)
2021-11-13 16:15:11
1281
原创 Python with pd.ExcelWriter(‘a.xls‘) as writer: 新建excel文件,保存2个sheet
import pandas as pdnew1 = pd.DataFrame({0:['a','b','c'], 1:['q1','q2','q3'], 2:['t3','t2','t1']})new2 = pd.DataFrame({0:['aq1','bq2','cq3'], 1:['la1','la2','la3']})with pd.ExcelWriter('a.xls') as writer: new1.to_excel(writer, 'sheet1') new2.to
2021-11-13 16:10:20
6125
原创 python dataframe isin()实现sql的in
huitong[huitong['编号'].isin(['68','27'])]
2021-11-13 16:01:03
1468
原创 Python 自动发邮件+附件
# -*- coding: utf-8 -*-"""Created on Fri Nov 5 18:10:00 2021@author: yalan.pan"""import win32com.client as win32import warningsimport sysimport pythoncomimport importlibimportlib.reload(sys)warnings.filterwarnings('ignore')pythoncom.CoIniti
2021-11-05 18:27:53
273
原创 word 替换一键设置数字千分位
查找:([0-9])([0-9]{3})([!][0-9年])替换:\1,\2\3不影响年份,但若多次则可能影响!
2021-11-02 14:54:03
623
原创 Python dataframe中多列合并成一列直接用加号+
dataframe["newColumn"] = dataframe["age"].map(str) + dataframe["phone"] + dataframe["address”]map(str) :非string列
2021-10-26 17:18:53
2205
1
原创 Python-join Dataframe 多行合并为一行
最后4行合并为1行:def ab(df): return','.join(df.values) df = df.groupby(['股票代码','股票简称'])['所属概念'].apply(ab)df = df.reset_index()
2021-10-26 15:46:46
2097
原创 Python dataframe根据现有列生成新的列np.where +apply,map
result['EMX035']=np.where((result['EMX035_1']==1) | (result['EMX035_2']==1) ,1,0)
2021-10-25 12:02:47
1021
原创 Python独热编码get_dummies函数
原dataframe:result=pd.get_dummies(result,columns=['EMR014','EMX035','HDB010'])result编码后:
2021-10-25 12:01:21
645
原创 python schedule模块定时执行任务
import scheduleimport timedef job(): print("I'm working...")schedule.every(10).minutes.do(job)schedule.every().hour.do(job)schedule.every().day.at("10:30").do(job)schedule.every().monday.do(job)schedule.every().wednesday.at("13:15").do(job)w
2021-08-25 03:20:56
103
原创 python int、string类型20200101转时间类型
import pandas as pdimport numpy as npdic={'id':['a','b','c','d'], 'time1':[20200101,20200102,20200103,20200104], 'time2':['20200101','20200102','20200103','20200104'] }df=pd.DataFrame(dic)# print(df)df['time1']=pd.to_datetime(df['time1
2021-02-04 17:16:28
2228
1
原创 python 创建含空的dataframe
import pandas as pdimport numpy as npdf = pd.DataFrame([[1,2,np.nan],[4,5,np.nan],[7,8,9]])# print(df)
2021-02-04 10:45:58
1023
1
原创 Python LabelEncoder 转编码
from sklearn.preprocessing import LabelEncoderle = LabelEncoder()train = ["paris", "paris", "tokyo", "amsterdam"]test = ["tokyo", "tokyo", "paris"]aa=le.fit(train).transform(test)print(aa)
2021-02-03 15:05:40
322
1
原创 python shift() 函数 DataFrame移动列或减去前一个值
import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(16).reshape(4,4),columns=['AA','BB','CC','DD'],index =['a','b','c','d'])print(df,'\n')df1 = df.apply(lambda x: x.shift(2)) # 参数2 -2print(df1,'\n')df2 = df.shift()print(df2,'\n')df3 =
2021-02-02 15:07:01
4260
空空如也
如何实现Python dataframe导出到csv多个sheet
2022-06-19
限制Python运行时占用的cpu核数
2022-05-03
DataFrame有1w+行200+列,对每列去重以后合并(每列去重后长度不一样)
2021-12-13
object类型数据但能做时间计算
2021-09-13
python 正则式 r'\n'为什么不能互相匹配上
2021-02-19
dataframe 筛选替换后,还是能查出来原来的数
2021-02-04
求助!python int类型20200101转时间类型
2021-02-04
dataframe 数据列错位,后一列替换前一列
2021-02-04
Python group的的结果再计算
2021-01-20
python dataframe既有文字又有数字,所有数字列都/100.
2021-01-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人