См. Ниже:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
DataTable dt1 = new DataTable();
dt1.Columns.Add("Sector", typeof(string));
dt1.Columns.Add("IPC", typeof(long));
dt1.Columns.Add("Analyst", typeof(string));
dt1.Columns.Add("Issuer Group", typeof(string));
dt1.Columns.Add("Senority", typeof(string));
dt1.Columns.Add("Mkt Value", typeof(long));
dt1.Columns.Add("Nom Value", typeof(long));
dt1.Columns.Add("Issue Group", typeof(string));
dt1.Rows.Add(new object[] { "Agencies", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA"});
dt1.Rows.Add(new object[] { "Agencies", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA" });
dt1.Rows.Add(new object[] { "Agencies", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA" });
dt1.Rows.Add(new object[] { "Consumer", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA" });
dt1.Rows.Add(new object[] { "Energy", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA" });
dt1.Rows.Add(new object[] { "Energy", 180969, "MUSTO", "Caisse des Depots", "Senior", 10114481, 1000000, "AA" });
DataTable dt2 = dt1.Clone();
var groups = dt1.AsEnumerable().GroupBy(x => x.Field<string>("Sector")).ToList();
foreach (var group in groups)
{
long mktValue = group.Sum(x => x.Field<long>("Mkt Value"));
long nomValue = group.Sum(x => x.Field<long>("Nom Value"));
dt2.Rows.Add(new object[] { group.Key, DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, mktValue, nomValue });
foreach (DataRow row in group)
{
object[] data = row.ItemArray;
data[0] = DBNull.Value;
dt2.Rows.Add(data);
}
}
}
}
}