反转数据帧中的每n行

时间:2018-08-18 09:35:56

标签: python pandas dataframe reverse

我将如何反转数据帧中的每n行。我有一个数据框,其中每天的行以H24开头,以H1结尾。现在,我想每24行反转一次,所以一天以H1开始,以H24结尾(对于数据框中的所有日期)。我需要遍历数据帧还是有更有效的解决方案?

数据框如下所示: df5

这是我到目前为止使用的代码:

import pandas as pd

df0 = pd.read_csv('Podatki_vsi_NOVE.csv',sep=';')
df1 = pd.read_csv('Podatki_vsi_OVE.csv')
df5 = df1.reindex(index=df1.index[::-1])

问题是,例如,一组数据(df0)从较早的日期开始(1.1.2016),并持续到最后一个日期(1.1.2018),而第二组数据从最后一个日期(1.1 (.2018),并以较早的日期(1.1.2016)结尾。现在,可以看到,从代码中,我已经反转了整个数据帧df1,结果是df5。 df5的问题(如从图片中看到的)是,从现在开始倒转,每天都是从H24开始,而不是应该从H1开始。

输出: output1 output2

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

df5["hour"] = df5["Unnamed: 0"].apply(lambda x: int(x[1:]))    
df5 = df5.sort_values(["datum", "hour"])