如何从数据框中的随机日期中选择行?

时间:2020-04-27 12:39:41

标签: python pandas dataframe

我有一个数据框,它每分钟都有来自不同传感器的测量值。我想选择一日内采取的措施,因为这一天是随机选择的。

这是数据帧的前10行:

                   Time   CO2     H         T
0  21-Dec-2018 15:04:00  1540  59.3  17.95000
1  21-Dec-2018 15:05:00  1440  55.6  18.15000
2  21-Dec-2018 15:06:00  1426  53.7  18.25000
3  21-Dec-2018 15:07:00  1426  52.3  18.35000
4  21-Dec-2018 15:08:00  1382  51.3  18.45000
5  21-Dec-2018 15:09:00  1338  50.3  18.62019
6  21-Dec-2018 15:10:00  1304  49.4  18.75000
7  21-Dec-2018 15:11:00  1274  48.6  18.92019
8  21-Dec-2018 15:12:00  1262  47.8  19.52019
9  21-Dec-2018 15:13:00  1258  47.2  19.22019

例如,如果日期范围从'21 -Dec-2018 15:04:00'到'31 -Dec-2018 23:59:00',则随机选择一天,假设一天为24。该日期是随机选择的,以获取当天的所有度量(它们总共应为1440,每分钟一次)。

这可能吗?

1 个答案:

答案 0 :(得分:1)

首先使用pod.to_datetime将date列转换为datetime,然后使用DataFrame.sample从其包含的日期中随机抽取一个样本。然后使用它来索引数据框:

df['Time'] = pd.to_datetime(df.Time)
random_day = df.Time.dt.day.sample(1).values.item()
df_on_random_day = df[df.Time.dt.day.eq(random_day)]