我想为那些对新变量打盹的人和那些没有对另一个新变量打盹的人隔离列'night bedtime'



nap time in bed变量有一些nan值和一些"integer"值,但night bedtime变量只有整数值。我想根据"床上小睡时间"将"夜间就寝时间"列分为两列,一列用于没有小睡的人(nan值(,另一列用于有午睡的人(整数值(。

night bedtime
0     1245.0
1     1163.0
2     1200.0
3     1186.0
4     1161.0
5     1235.0
6     1260.0
7     1321.0
8     1224.0
9     1278.0
10    1185.0
11    1218.0
12    1222.0
13    1226.0
14    1228.0
15    1246.0
16    1243.0
17    1202.0
18    1190.0
19    1218.0
Name: night bedtime, dtype: float64

0        NaN
1        NaN
2        NaN
3        NaN
4        NaN
5     137.00
6      80.00
7     163.80
8     131.25
9     130.67
10    126.60
11    130.40
12    110.20
13    139.33
14    130.00
15    162.75
16    135.00
17    107.00
18     89.40
19    152.67
Name: nap time in bed, dtype: float64
In [76]: df1 = pd.DataFrame({'night bedtime' : [1186,1161,1235,1260,1321],})
...: print(df1)
...: df2 = pd.DataFrame({'nap time in bed': [np.nan, np.nan, 137, 163, np.nan],})
...: print(df2)
...: 
...: #Assuming two dataframes same length
...: #indentify where no nap time entered
...: idx_no_nap = df2.loc[df2['nap time in bed'].isna()].index.tolist()
...: 
...: #filter night bedtime based on nap or nap
...: df_no_nap = df1[df1.index.isin(idx)]
...: df_nap = df1[~df1.index.isin(idx)]
...: print(df_no_nap)
...: print(df_nap)
night bedtime
0           1186
1           1161
2           1235
3           1260
4           1321
nap time in bed
0              NaN
1              NaN
2            137.0
3            163.0
4              NaN
night bedtime
0           1186
1           1161
4           1321
night bedtime
2           1235
3           1260

最新更新