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