p*****o 发帖数: 543 | 1 TYPE VALUE
A 1
A 49
A 23
B 44
B 2
C 3
C 4
C 10
请教这样一个DATA SET,有没有办法只用一个DATA STEP就增加一个VARIABLE MEAN_
DEVIATION,就是用VALUE的值,减去这个值所在的TYPE的那个组的平均值? | y*m 发帖数: 102 | 2 one sql step can do it, not one data-step
【在 p*****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : TYPE VALUE : A 1 : A 49 : A 23 : B 44 : B 2 : C 3 : C 4 : C 10 : 请教这样一个DATA SET,有没有办法只用一个DATA STEP就增加一个VARIABLE MEAN_
| o****o 发帖数: 8077 | 3 if sorted, use DOW
【在 p*****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : TYPE VALUE : A 1 : A 49 : A 23 : B 44 : B 2 : C 3 : C 4 : C 10 : 请教这样一个DATA SET,有没有办法只用一个DATA STEP就增加一个VARIABLE MEAN_
| S******y 发帖数: 1123 | 4 # in case you would like to do it in Python.
def mean(ls):
return sum(ls)/len(ls)
def deviation(ls):
m = mean(ls)
return [x-m for x in ls]
in_file='C:\\type_data.txt'
f = open(in_file, 'r')
my_list = []
my_type=None
for line in f:
typex, value = line.split()
if my_type != typex and my_type!=None:
for loc,x in enumerate(deviation(my_list)):
print my_type,my_list[loc], x
my_list=[]
my_list.append(float(value))
my_type=typex
for loc,x in enum | f****r 发帖数: 72 | 5 我第一个想到的就是SQL.用DATASET可能要写得多一些。 |
|