There isn't any way apart from the loop. There is a merge function for DataTables but it is doing the operation row wise, even thought you can specify to add columns if needed, it will leave the other columns null and you will get something like this:
values values values null null
null null null values values
With this approach you can then loop through all the rows and have a step of 2 in which you will merge two rows into one in a new DataTable, but for this you need one more DataTable to store the result.
If you know you have the same number of rows you can add columns to the table that has the smaller number of columns and then copy them across.
Again, I would prefer the loop.