/ / Wybierz określone wiersze w Deedle - c #, dataframe, deedle

Wybierz określone wiersze w Deedle - c #, dataframe, deedle

Mam ramkę danych deedle, zwaną df, z jedną z nazwanych kolumn TimeSpent.

Chciałbym zachować wiersze, dla których istnieją wartości TimeSpent większa niż określona TimeSpan (na przykład 30 minut). Mogłem tylko utrzymać wiersze z konkretnymi TimeSpan (30 min) używając FilterRowsBy()

df = df.FilterRowsBy<int, string, TimeSpan>("TimeSpent", new TimeSpan(0, 30, 0));

Jak filtrować ramkę danych z zatwierdzeniem dla określonego zakresu?

AKTUALIZACJA: Postanowiłem więc spróbować posortować ramkę deedle TimeSpan najpierw, a następnie pokroić.

Frame<TimeSpan, string> dfTest = df.IndexRows<TimeSpan>("TimeSpent").SortRowsByKey();
var dfTest2 = dfTest.Rows.After(twentyMin);

W rezultacie otrzymuję nową ramkę danych, która jest typu <TimeSpan, ObjectSeries<System.String>>, ale muszę przekonwertować tę ramkę danych na <TimeSpan, String>i nie wiem jak.

Odpowiedzi:

0 dla odpowiedzi № 1

Skończyło się na użyciu linq do sortowania ramek danych po utworzeniu nowego indeksu przez TimeSpan.

Frame<TimeSpan, string> dfResult =
df.IndexRows<TimeSpan>("TimeSpent")
.Where(kvp => kvp.Key > new Timespan(0, 20, 0));