我有一列TS
从 -60 到 60 不等,我有一列V
从 -0.1 到 0 到 1 并一次又一次地重复。我想在TS
when variable 的那些值上加 15,在when 中V<0
减去 15 V>0
。中的值TS
和V
格式为 float64。也有一些nan
值,TS
因此可以用我在这里所做的将其替换为零。我试过这个,但后来我不知道该怎么做。
data = pd.read_table(filename,skiprows=104,decimal=',', sep=';',header=None,names=["V ","TS "])
``
import numpy as np
TS = data[data.keys()[9]]
TS = np.array(TS)
np.nan_to_num(TS)
TS4 = TS[V<0]+15
TS5 = TS[V>0]-15
TS6 = TS[V==0]
TS7 = TS[np.isnan(TS)] = 0
在哪里
+-------+--------------------+--------------------+------------+
| Index | TS (kPa) | NS(kPa) | V (mm/min) |
+-------+--------------------+--------------------+------------+
| 0 | 36.052101 | 97.384283 | -0.1 |
| 1 | 20.240409 | 102.012401 | -0.1 |
| 2 | 10.491882 | 97.26910600000001 | -0.1 |
| 3 | 8.717836 | 101.145252 | -0.1 |
| 4 | 3.7307309999999996 | 99.038843 | -0.1 |
| 5 | 3.585318 | 99.413168 | 0.1 |
| 6 | 3.6144 | 100.562722 | 0.1 |
| 7 | 2.676773 | 100.13413100000001 | 0.1 |
| 8 | -4.776546 | 97.868247 | 0.1 |
+-------+--------------------+--------------------+------------+
预期输出
+-------+--------------------+--------------------+------------+
| Index | TS (kPa) | NS(kPa) | V (mm/min) |
+-------+--------------------+--------------------+------------+
| 0 | 51.052101 | 97.384283 | -0.1 |
| 1 | 35.240409 | 102.012401 | -0.1 |
| 2 | 25.491882 | 97.26910600000001 | -0.1 |
| 3 | 23.717836 | 101.145252 | -0.1 |
| 4 | 18.7307309999999996 | 99.038843 | -0.1 |
| 5 | -12.585318 | 99.413168 | 0.1 |
| 6 | -12.6144 | 100.562722 | 0.1 |
| 7 | -14.676773 | 100.13413100000001 | 0.1 |
| 8 | -19.776546 | 97.868247 | 0.1 |
+-------+--------------------+--------------------+------------+
使用后从 TSnp.where
更换NaN
。
输入数据:
>>> df
TS NS V
0 36.052101 97.384283 -0.1
1 20.240409 102.012401 -0.1
2 10.491882 97.269106 -0.1
3 8.717836 101.145252 -0.1
4 3.730731 99.038843 -0.1
5 3.585318 99.413168 0.1
6 3.614400 100.562722 0.1
7 2.676773 100.134131 0.1
8 -4.776546 97.868247 0.1
9 NaN 99.313814 0.1
df['TS'] = np.where(df['V'] < 0, df['TS'] + 15, df['TS'] - 15)
df['TS'] = df['TS'].fillna(0)
输出结果:
>>> df
TS NS V
0 51.052101 97.384283 -0.1
1 35.240409 102.012401 -0.1
2 25.491882 97.269106 -0.1
3 23.717836 101.145252 -0.1
4 18.730731 99.038843 -0.1
5 -11.414682 99.413168 0.1
6 -11.385600 100.562722 0.1
7 -12.323227 100.134131 0.1
8 -19.776546 97.868247 0.1
0 0.000000 99.313814 0.1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句