Forum Widgets
Latest Discussions
Best practice to fill one column with manipulated values from another (DataFrame)?
C# 10 / .NET 6 / Microsoft.Data.Analysis Given a Microsoft.Data.Analysis DataFrame with two columns, what is the idiomatic way to take values from one column, manipulate them, then use the resulting value to fill the rows of the second column element-wise? // Create a DateTime column. PrimitiveDataFrameColumn<DateTime> dateTimeCol = new("Dates", 0); // Fill it. dateTimeCol.Append(DateTime.Now + TimeSpan.FromDays(1)); dateTimeCol.Append(DateTime.Now + TimeSpan.FromDays(2)); dateTimeCol.Append(DateTime.Now + TimeSpan.FromDays(3)); // Create a Ticks column. PrimitiveDataFrameColumn<long> ticksCol = new("Ticks", dateTimeCol.Length); // Create a DataFrame of the above two columns. DataFrame df = new(); df.Columns.Add(dateTimeCol); df.Columns.Add(ticksCol); At this point, what I want to do is df["Ticks"] = df["Dates"].Ticks. Of course, this doesn't work. I could do this: for (int i = 0; i < df.Rows.Count; i++) { DateTime tempDate = (DateTime) df[i, df.Columns.IndexOf("Dates")]; df[i, df.Columns.IndexOf("Ticks")] = tempDate.Ticks; } But... is there a better way?SolvedchrisxfireApr 27, 2022Copper Contributor2.6KViews0likes4Comments