gpt4 book ai didi

python - 用python仅总结时间序列中的非NaN数据

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:12 25 4
gpt4 key购买 nike

我需要每日值的总和,但仅限于不包含 NaN 值的日子。我的 csv 文件包含半小时数据,但有时测量设备会出现故障。我需要每日总和,但只要它包含 NaN 值,我就不需要它来总结这一天。 我的 Csv 文件如下所示:

date        time       ET
28. Nov 01 08:15 -0.00152
28. Nov 01 08:45 -0.00324
28. Nov 01 09:15 0.00805
28. Nov 01 09:45 0.00684
28. Nov 01 10:15 0.00918
28. Nov 01 10:45
28. Nov 01 11:15 0.00867
28. Nov 01 11:45 0.01014
28. Nov 01 12:15 0.01697
28. Nov 01 12:45 0.00739

这一天有一个缺失值,所以我不想要这一天的总和,而是所有其他具有所有测量值的日子的总和。

我目前的代码是这样的:

import pandas as pd
ts = pd.read_csv('C:\Python27\Scripts\ET_T_2000.csv', sep=';', parse_dates=[['date', 'time']])
ts.fillna(0)
ts1 = ts.set_index('date_time')['ET'].resample('D', how='sum')

有人知道怎么做吗?

最佳答案

如果我没理解错的话,您想过滤掉所有包含 NaN 的日期的所有数据,然后将这些日期与一个完整的、不含 NaN 的数据集相加。

为简单起见,使用 squeeze 关键字将其设为 Series,而不是 DataFrame。 (这不是必需的,但它使接下来的内容更加直接。)

et = pd.read_csv(..., index_col=0, squeeze=True)

要过滤掉任何 NaN 的日子,

complete_days_only = et.groupby(lambda x: x.date).filter(lambda x: ~x.isnull().any())

现在重新取样

complete_days_only.resample('D', how='sum')

关于python - 用python仅总结时间序列中的非NaN数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18279873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com