使用熊猫查找特定的小时最小值

时间:2018-09-21 11:11:53

标签: python-3.x pandas pandas-groupby

我有一个看起来像这样的数据框,

{% load l10n %}

数据框的日期和时间在11:30:00到12:30:00之间,间隔为5分钟。我试图找出如何根据每天的“当前”列查找最小值,然后复制整行。我的预期输出应该是这样的,

Date/Time               Volt        Current
2011-01-01 11:30:00     NaN         NaN
2011-01-01 11:35:00     NaN         NaN
2011-01-01 11:40:00     NaN         NaN
...
2011-01-01 12:30:00     NaN         NaN
2011-01-02 11:30:00     45          23
2011-01-02 11:35:00     31          34
2011-01-02 11:40:00     23          15
...
2011-01-02 12:30:00     13          1
2011-01-03 11:30:00     41          51
...
2011-01-03 12:25:00     14          5
2011-01-03 12:30:00     54          45
...
2011-01-04 11:30:00     45          -
2011-01-04 11:35:00     41          -
2011-01-04 11:40:00     -           4
...
2011-01-04 12:30:00     -           14

对于具有当前值的行,它将复制整个最小值行。 对于当前具有“ NaN”的行,它将复制仍为NaN的行。

请注意,伏特/电流中的某些数据为空或带有短划线。

这可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

请尝试

df=df[df['Current'] != '-']
df.groupby(df['Date/Time'].dt.day).apply(lambda x:x.loc[x['Current'].astype(float).fillna(0).argmin(),:])