根据其他列值在列值中添加整数

شاه نواز

我有一列TS从 -60 到 60 不等,我有一列V从 -0.1 到 0 到 1 并一次又一次地重复。我想在TSwhen variable 的那些值上加 15,在when 中V<0减去 15 V>0中的值TSV格式为 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章