如何使用scipy优化获取2个参数

时间:2016-06-27 12:49:30

标签: python pandas scipy

我有数据

android.app.Fragment

我应该写一个函数,我可以自动获得2个参数diff_time 0 124 56 87 40 168 449 13 ,其中

a and b

我该如何解决这个问题?是否真的使用scipy.optimize

2 个答案:

答案 0 :(得分:1)

我认为您可以在boolean mask创建的df.diff_time > a之前使用mask

a = 100
b = 33

print (df.diff_time > a)
0    False
1     True
2    False
3    False
4    False
5     True
6     True
7    False
Name: diff_time, dtype: bool

df['b'] = df.diff_time.mask(df.diff_time > a, b)
print (df)
   diff_time   b
0          0   0
1        124  33
2         56  56
3         87  87
4         40  40
5        168  33
6        449  33
7         13  13

如果您需要更改列diff_time,请使用ix

df.ix[df['diff_time']>= a ,'diff_time'] = b
print (df)
   diff_time
0          0
1         33
2         56
3         87
4         40
5         33
6         33
7         13

答案 1 :(得分:0)

a = 100
b = 33
df['diff_time'].apply(lambda el: b if el > a else el)

0     0
1    33
2    56
3    87
4    40
5    33
6    33
7    13
Name: diff_time, dtype: int64