在不知道变量名称的情况下将数据框重塑为三列宽

Reshape dataframe to be three columns wide without knowing variable names

我有一个列名未知但格式一致的数据框。如何在不使用列名的情况下将其重塑为三列宽?

cpu[,1:6]
  Datapoints.Timestamp Datapoints.Maximum Datapoints.Unit Datapoints.Timestamp.1 Datapoints.Maximum.1 Datapoints.Unit.1
1 2019-03-05T08:00:00Z           7.833333         Percent   2019-03-11T22:00:00Z                24.25           Percent

目标

Timestamp             Maximum   Unit
2019-03-05T08:00:00Z  7.833333  Percent
.....

数据集:

> dput(cpu[,1:6])
structure(list(Datapoints.Timestamp = structure(1L, .Label = "2019-03-05T08:00:00Z", class = "factor"), 
    Datapoints.Maximum = 7.83333333332848, Datapoints.Unit = structure(1L, .Label = "Percent", class = "factor"), 
    Datapoints.Timestamp.1 = structure(1L, .Label = "2019-03-11T22:00:00Z", class = "factor"), 
    Datapoints.Maximum.1 = 24.2500000000048, Datapoints.Unit.1 = structure(1L, .Label = "Percent", class = "factor")), .Names = c("Datapoints.Timestamp", 
"Datapoints.Maximum", "Datapoints.Unit", "Datapoints.Timestamp.1", 
"Datapoints.Maximum.1", "Datapoints.Unit.1"), class = "data.frame", row.names = c(NA, 
-1L))
do.call(rbind, lapply(seq(1, NCOL(df1), 3), function(i)
    setNames(df1[,i+(0:2)], colnames(df1)[1:3])))
#  Datapoints.Timestamp Datapoints.Maximum Datapoints.Unit
#1 2019-03-05T08:00:00Z           7.833333         Percent
#2 2019-03-11T22:00:00Z          24.250000         Percent