我有数据
android.app.Fragment
我应该写一个函数,我可以自动获得2个参数diff_time
0
124
56
87
40
168
449
13
,其中
a and b
我该如何解决这个问题?是否真的使用scipy.optimize?
答案 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