首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python函数对应的同样功能的sas函数

今天就之前说过用sas的方法学python系列未完待续的话,给大家介绍一下在python中实现与sas函数一样效果的一些函数。

在sas中常用的compress

Sas:

datas;

a='000123000';

b=compress(a,'0');

run;

Python:

a='000123000'

b=a.strip('0')

在字符串中取特点字符的序号

Sas:

dataa;

b='123 E St,#2';

c=index(b,'#');

run;

Python:

b='123 E St,#2'

c=b.index('#')+1

字符串的拼接

Sas:

dataa;

a=' cat';

b='dog ';

x=cat(a,b);

run;

Python:

a=' cat'

b='dog '

c=[a,b]

x=''.join(c)

如果是sas函数catx,在python中可以用如下方式去实现:

x=(''.join(c)).strip('')

左对齐和右对齐

Sas:

dataa;

a=' cat ';

x=left(a);

y=right(a);

run;

Python:

a=' cat '

x=a.lstrip()

y=a.rstrip()

字符串长度

Sas:

dataa;

a='my cat';

x=length(a);

run;

Python:

a='my cat'

len(a)

首字母大写和全部大写

Sas:

dataa;

a='MyCat';

x=propcase(a);

y=upcase(a);

run;

Python:

a='MyCat'

x=a.capitalize()

y=a.upper()

字符串中字符的替换

Sas:

dataa;

a='6/16/99';

x=translate(a,'-','/');

b='Main Street';

y=tranwrd(b,'Street','St');

run;

Python:

a='6/16/99'

x=a.replace('/','-')

b='Main Street';

y=b.replace('Street','St')

对数字取整

Sas:

dataa;

a=0.3452;

x=int(a);

y=round(a,.01);

run;

Python:

a=0.3452

x=int(a)

y=round(a,2)

以上介绍的是一些数据处理方法,在sas中计算统计量也能在python中找到相应的实现。

计算一些简单的统计量

横向计算

Sas

dataa;

inputa b;

x=mean(a,b);

y=max(a,b);

z=min(a,b);

o=median(a,b);

p=std(a,b);

q=var(a,b);

datalines;

1 3

2 4

3 5

;

run;

Python

import numpy as np

a=pd.DataFrame({'a':[1,2,3],'b':[3,4,5]})

x=np.mean(a,1)

y=np.max(a,1)

z=np.min(a,1)

o=np.median(a,axis=1)

q=np.var(frame,axis=1)

x=np.mean(a,1)等价于x=np.mean(a,axis=1)

python中如果需要纵向计算统计量,只需要把上述代码的1改成0就可以了,在sas中的纵向计算统计量不用我多说了吧,就是一些平时用的sql函数,group by一下就好了。

来源|屁屁的sas数据分析

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017B1RSOT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券