繁体   English   中英

选择日期之间的熊猫数据框行并设置列值

[英]Select pandas dataframe rows between dates and set column value

在下面的数据框中,我想将p50列中的行值设置为NaN如果它们在2018年5月15日至8月15日之间小于2.0)。

                  date       p50
2018-03-02 2018-03-02       NaN
2018-03-03 2018-03-03       NaN
2018-03-04 2018-03-04  0.022590
2018-03-05 2018-03-05       NaN
2018-03-06 2018-03-06 -0.042227
2018-03-07 2018-03-07       NaN
2018-03-08 2018-03-08       NaN
2018-03-09 2018-03-09 -0.028646
2018-03-10 2018-03-10       NaN
2018-03-11 2018-03-11 -0.045244
2018-03-12 2018-03-12       NaN
2018-03-13 2018-03-13       NaN
2018-03-14 2018-03-14 -0.020590
2018-03-15 2018-03-15       NaN
2018-03-16 2018-03-16 -0.028317
2018-03-17 2018-03-17       NaN
2018-03-18 2018-03-18       NaN
2018-03-19 2018-03-19       NaN
2018-03-20 2018-03-20       NaN
2018-03-21 2018-03-21       NaN
2018-03-22 2018-03-22       NaN
2018-03-23 2018-03-23       NaN
2018-03-24 2018-03-24 -0.066800
2018-03-25 2018-03-25       NaN
2018-03-26 2018-03-26 -0.104135
2018-03-27 2018-03-27       NaN
2018-03-28 2018-03-28       NaN
2018-03-29 2018-03-29 -0.115200
2018-03-30 2018-03-30       NaN
2018-03-31 2018-03-31 -0.000455
               ...       ...
2018-07-03 2018-07-03       NaN
2018-07-04 2018-07-04  2.313035
2018-07-05 2018-07-05       NaN
2018-07-06 2018-07-06       NaN
2018-07-07 2018-07-07       NaN
2018-07-08 2018-07-08       NaN
2018-07-09 2018-07-09  0.054513
2018-07-10 2018-07-10       NaN
2018-07-11 2018-07-11       NaN
2018-07-12 2018-07-12  3.711159
2018-07-13 2018-07-13       NaN
2018-07-14 2018-07-14  6.583810
2018-07-15 2018-07-15       NaN
2018-07-16 2018-07-16       NaN
2018-07-17 2018-07-17  0.070182
2018-07-18 2018-07-18       NaN
2018-07-19 2018-07-19  3.688812
2018-07-20 2018-07-20       NaN
2018-07-21 2018-07-21       NaN
2018-07-22 2018-07-22  0.876552
2018-07-23 2018-07-23       NaN
2018-07-24 2018-07-24  1.077895
2018-07-25 2018-07-25       NaN
2018-07-26 2018-07-26       NaN
2018-07-27 2018-07-27  3.802159
2018-07-28 2018-07-28       NaN
2018-07-29 2018-07-29  0.077402
2018-07-30 2018-07-30       NaN
2018-07-31 2018-07-31       NaN
2018-08-01 2018-08-01  3.202214

数据框具有日期时间索引。 我做下面的事情:

mask = (group['date'] > '2018-5-15') & (group['date'] <= '2018-8-15')
group[mask].loc[group[mask]['p50'] < 2.]['p50'] = np.NaN

但是,这不会更新数据框。 如何解决这个问题?

我认为你应该像这样使用.loc

mask = (group['date'] > '2018-5-15') & (group['date'] <= '2018-8-15')
group.loc[mask&(group['p50'] < 2),'p50']=np.nan

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM