Python 数据集2列最小值和最大值确定列

Python 数据集2列最小值和最大值确定列,python,pandas,Python,Pandas,我有一个像这样的数据帧dt minV maxV 2008-01-02 NaN NaN 2008-01-03 NaN NaN 2008-01-04 37.33 NaN 2008-01-07 NaN 37.71 2008-01-08 36.21 NaN 2008-01-09 NaN NaN 2008-01-10 NaN 37.70 在每一行上,我可以有一个minV或maxV 在同一天,minV和max

我有一个像这样的数据帧dt

             minV   maxV
2008-01-02    NaN    NaN
2008-01-03    NaN    NaN
2008-01-04  37.33    NaN
2008-01-07    NaN  37.71
2008-01-08  36.21    NaN
2008-01-09    NaN    NaN
2008-01-10    NaN  37.70
在每一行上,我可以有一个minV或maxV

在同一天,minV和maxV的值不能都不是NaN。(不可能
2008-01-08 36.21 37.71

我想创建另一个数据帧,其中仅在具有minV或maxV not NaN的日期:

  • 如果是minV的一天-->1000
  • 如果这是maxV的一天那么-->-1000 比如:

1000是一个常数

您可以将
dropna
all
一起使用,以去除任何完全为空的行,然后使用
np.where
有条件地填充您的值

import numpy as np  
df = df.dropna(how='all')    
df['val'] = np.where(df['minV'].isnull(), -1000,1000)    
print(df[['val']])
输出

             val
2008-01-04  1000
2008-01-07 -1000
2008-01-08  1000
2008-01-10 -1000

您可以将
dropna
all
一起使用,以去除任何完全为空的行,然后使用
np.where
有条件地填充值

import numpy as np  
df = df.dropna(how='all')    
df['val'] = np.where(df['minV'].isnull(), -1000,1000)    
print(df[['val']])
输出

             val
2008-01-04  1000
2008-01-07 -1000
2008-01-08  1000
2008-01-10 -1000