我有一个看起来像这样的数据框,
{% 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的行。
请注意,伏特/电流中的某些数据为空或带有短划线。
这可能吗?
谢谢。
答案 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(),:])