Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Verileri depolamak ve işlemek için iki boyutlu veri yapıları olan
Microsoft.Data.Analysis'i yükleme
Çoğu durumda DataFrame erişmek, Microsoft.Data.Analysis NuGet paketine başvurmak kadar basittir.
dotnet add package Microsoft.Data.Analysis
Veya .NET 10+'da:
dotnet package add Microsoft.Data.Analysis
Verileri yükleme
DataFrame'ler tablosal verilerin yüklenmesini kolaylaştırır. Aşağıdaki verilerle housing-prices.csv adlı virgülle ayrılmış bir dosya oluşturun.
Id,Size,HistoricalPrice,CurrentPrice
1,600f,100000,170000
2,1000f,200000,225000
3,1000f,126000,195000
4,850f,150000,205000
5,900f,155000,210000
6,550f,99000,180000
Verileri bir DataFrame'e yükleyerek başlayın.
using System.IO;
using System.Linq;
using Microsoft.Data.Analysis;
// Define data path
var dataPath = Path.GetFullPath(@"housing-prices.csv");
// Load the data into the data frame
var dataFrame = DataFrame.LoadCsv(dataPath);
Verileri inceleme
DataFrame'ler verileri bir sütun koleksiyonu olarak depolar. Bu, verilerle etkileşim kurmayı kolaylaştırır.
Sütun veri türlerinin önizlemesini almak için Info()çalıştırın.
dataFrame.Info();
Verilerin özetini almak için Description()çalıştırın.
dataFrame.Description();
Verileri dönüştürme
Veriler için çeşitli dönüştürücü seçenekler vardır. DataFrame ve DataFrameColumn sınıfları ikili işlemler, hesaplamalar, birleştirmeler, birleştirmeler ve eksik değerleri işleme gibi birçok yararlı API'yi kullanıma sunar.
Örneğin, bu veriler geçmiş fiyatları, enflasyonu hesap eden geçerli fiyatlarla karşılaştırmak için düzenlenebilir. Tüm değerlere hesaplama uygulayabilir ve sonuçları yeni bir sütuna kaydedebilirsiniz.
dataFrame["ComputedPrices"] = dataFrame["HistoricalPrice"].Multiply(2);
Veriler belirli bir sütundaki değerlerden gruplar halinde sıralanabilir.
var sortedDataFrame = dataFrame.GroupBy("Size");
Veriler farklı eşitlik ölçümlerine göre filtrelenebilir. Bu örnekte ElementWise eşitlik işlevi kullanılmaktadır ve ardından boole sonuç sütununa göre filtre uygulanarak yalnızca uygun değerlere sahip yeni bir DataFrame elde edilir.
PrimitiveDataFrameColumn<bool> boolFilter = dataFrame["CurrentPrice"].ElementwiseGreaterThan(200000);
DataFrame filteredDataFrame = dataFrame.Filter(boolFilter);
Veri kaynaklarını birleştirme
Aşağıdaki ham verileri göz önünde bulundurun:
Id, Bedrooms
1, 1
2, 2
3, 3
4, 2
5, 3
6, 1
DataFrame'ler tek tek veri sütunlarından oluşturulabilir. Ham veri listesinden bir DataFrame oluşturun.
var ids = new List<Single>() {1,2,3,4,5,6};
var bedrooms = new List<Single>() {1, 2, 3, 2, 3, 1};
var idColumn = new SingleDataFrameColumn("Id", ids);
var bedroomColumn = new SingleDataFrameColumn("BedroomNumber", bedrooms);
var dataFrame2 = new DataFrame(idColumn, bedroomColumn);
İki DataFrame, Id değerine göre birleştirilebilir. Birleştirme işlevi hem DataFrame'leri alır hem de satırları Id değerlerine göre birleştirir.
dataFrame = dataFrame.Merge(dataFrame2, new string[] {"Id"}, new string[] {"Id"});
Veri Çerçevelerini Kaydet
Sonuçlar .csv biçime geri kaydedilebilir.
DataFrame.SaveCsv(dataFrame, "result.csv", ',');
DataFrame'i ML.NET ile kullanma
DataFrame'ler doğrudan ML.NET ile çalışır. DataFrame IDataView uygular ve modeli eğitmek için kullanılabilir.