python concat函数 多张表_零基础快速实现用python进行建模

beea48b97b82d3b955c8446ba0529b3e.png

【前言】

这里我会根据建模的一般流程和需要的能力对python的语句进行整理,对每一步能力我会挑出自己认为比较简单的方法进行记录,因为从0-1学习python首先做到能实现目标就可以,不需要掌握多种方法。

【建模流程】

第一步:python导入数据
第二步:数据格式转换,list表转为数据框,字符转为数字
第三步:用python进行计算求解,得到模型值
第四步:用循环方法实现多个列字段的统计,并把结果整合为数据框输出

第一步、数据导入

• excel导入
#导入csv格式文件
data=pd.read_csv(".csv")
#查看前几行案例
data.head(5)
• sql导入
#读取odps表
data=o.get_table("tablename")
#把odps表转换成pandas中的DataFrame格式
data.to_pandas()
• 创数据集
pd.DataFrame({"apple":[12,13,14,15],"banana":[21,22,23,24]},index=["a","b","c","d"])

第二步、数据清洗

  • 格式转换
问题:当x是list列表,需要转为数据框时
语句:pd.DataFrame({"r2":x,"num":y},index=z)
解释:r2是列名,x是数据列,z是行名称
    
问题:把'age'列的字符替换成数字
语句:data['age1']=data['age'].map({'中年':1,'青年':2,'老年':3}) 

三、数据统计分析

  • 各函数公式
问题:数据框和数据列求和
语句:x.sum()
问题:数据框和数据列求平均值
语句:x.mean()
问题:数据框和数据列求个数
语句:x.count()
问题:求对数
语句:np.log(x)
  • 识别特定条件的行和列
问题:识别特定位置的值
语句:data.iat[1,3]

问题:识别特定列,知道列名或列的位置
语句:data.loc[:,'r1']或者 data.iloc[:,1]
解释:r1为列名

问题:识别特定行,知道行的位置
data.loc[1:3,'r1']或者 data.iloc[1:3,1]

问题:查找数据框某特定条件的列或行或值
语句:data[(条件1)&(条件2)]
  • 统计特定字段的行数、求和、平均值(apply)
问题:把数据框中某2列进行相加,得出新的列
语句:data['qpr2']=data.apply(lambda row:row.字段1+row.字段2,axis=1)

问题:对数据框中所有列求平方
语句:data['qpr2']=data.apply(lambda x:x*x)
    
问题:求每组元素占每组列元素之和的比值
语句:
data = pd.DataFrame({'A':['1','1','2','2'], 'B': [1, 2, 3,4], 'C': [5, 6, 7,8]})
g = df.groupby('A')
g = g.apply(lambda x: x / x.sum())
print(g)

问题:查看数据框data所有列字段的行数、和、平均值、分位数等信息
语句:data.descrip()

四、循环输出结果

解释:x是数据框的所有列名
问题:在list x中循环增加数字y
语句:x.append(y)

问题:把list x和y按列合并起来
语句:m=pd.concat([x,y],axis=0)

问题:把list x和y按行合并起来
语句:m=pd.concat([x,y],axis=1)

问题:根据列进行循环计算
语句:
x=data.column.values()
y=[]
for i in x:
    a=data[i].sum()
    y.append(a)
  • 求回归系数公式

3014cd855ffac48479c32f92faf17873.png

五、总结

简单的建模结果都是通过函数公式推到出来的,所以要建模只需要知道相应模型求解的公式就可以用以上的方法得出模型结果,虽然语句会长一些,但是对于0基础学者来说,要学的语句就相对少很多,只要掌握上面每一步的语句,然后从统计学中找到对应模型求解公式,就可以算出模型结果,比如求解时序预测的公式,求相关系数的公式,求模型拟合r^2的公式,求多因素分析的公式等等,负责的算法和模型就请用python中sklearn包中的语句求解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值