sas与python编程通用性_python函数对应的同样功能的sas函数

原标题: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一下就好了。返回搜狐,查看更多

责任编辑: