python数据预处理中 超喜欢用的命令行~~~持续更新

本文记录一下平时在数据分析工作中常用到的代码

1、 当我们想让数据框A和B牵手,但是他们有重复列,只想保留一个。

df= pd.merge(A,B,on = 'serno',how = 'left',suffixes = ('','_y'))
df.drop(df.filter(regex='_y$').columns.tolist(),axis=1, inplace=True)

通过suffixes 参数来控制,想删A中的重名就标记A中的,再用drop删除即可。

2、 数据分析之前常用的基础配置

import pandas as pd
import datetime

import os 
os.getcwd()
os.chdir(r'C:\myWorkFile\XX')

pd.set_option('Display.max_rows',None)#展示全部行
pd.set_option('Display.max_columns',None)#展示全部列
pd.set_option('max_colwidth',1000)

import matplotlib as mpl
import warnings; warnings.filterwarnings(action='once')

%matplotlib inline
from pylab import *
mpl.rcParams['font.sans-serif']=['SimHei'] #绘图显示中文

3、超好用的crosstab()
统计不同地区,在不同时点的指标 xxx

例如,统计不同地区,在不同月份的逾期顾客数~
其中数据框A,含地区area、月份ym、逾期天数overdue、顾客id cust_id

pd.crosstab(A['area'],A['ym'],values=A.loc[A['overdue']>=1,'cust_id'],aggfunc='count',margins=True)

4、计时器

import time
tic = time.time()

#########################你要监测时间的代码#################

toc = time.time()
time = toc-tic

print('用时{}s'.format(time))

5、横向合并pd.merge、纵向合并pd.concat

pd.concat 也可横向,且适用于多个数据框纵向合并!!!!!

pd.concat([df1,df2,df3,df4])

不多问,问就是简单粗暴直接,怼在一起,不像merge,需要指定一下合并的键值~~
merge常用于两个数据框之间的链接,how = ‘inner’,‘left’,‘right’,也可控制左右链接的键值名,也是really灵活了!!!!

6、重命名

colNameDict = {'源数据列名':'新列名'}           #将‘源数据列名’改为‘新列名’
df.rename(columns = colNameDict,inplace=True)

7、groupby 多维度分组,计数、求和、均值,一起用!

d22 =d2.groupby(['客户代码','资金账号'],as_index=False).agg({'成交金额': 'sum', '委托序号': 'count'})
d22.columns = ['客户代码','资金账号','购买次数','购买金额']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值