Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megtudhatja, hogyan kezdheti el a DataFrame-eket, amelyek kétdimenziós adatstruktúrák az adatok tárolására és manipulálására. A DataFrame-ek segítenek az adatok előkészítésében egy gépi tanulási modellhez. A DataFrame-ek a gépi tanulástól független adatfeldolgozáshoz is használhatók.
A Microsoft.Data.Analysis telepítése
A hozzáférés DataFrame a legtöbb esetben olyan egyszerű, mint a Microsoft.Data.Analysis NuGet-csomagra való hivatkozás.
dotnet add package Microsoft.Data.Analysis
Vagy a .NET 10+-ban:
dotnet package add Microsoft.Data.Analysis
Adatok betöltése
A DataFrame-ek megkönnyítik a táblázatos adatok betöltését. Hozzon létre egy housing-prices.csv nevű vesszővel tagolt fájlt a következő adatokkal.
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
Először töltse be az adatokat egy DataFrame-be.
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);
Adatok vizsgálata
A DataFrames oszlopok gyűjteményeként tárolja az adatokat. Ez megkönnyíti az adatokkal való interakciót.
Az oszlop-adattípusok előnézetének lekéréséhez futtassa a következőt Info(): .
dataFrame.Info();
Az adatok összegzéséhez futtassa a következőt Description(): .
dataFrame.Description();
Adatok átalakítása
Az adatok számos különböző átalakító lehetőséget kínálnak. Az DataFrame osztályok számos DataFrameColumn hasznos API-t fednek fel, beleértve a bináris műveleteket, számításokat, illesztéseket, egyesítéseket és a hiányzó értékek kezelését.
Ezek az adatok szerkeszthetők például a korábbi árak és az inflációt elszámoló aktuális árak összehasonlításához. Számítást alkalmazhat az összes értékre, és az eredményeket egy új oszlopba mentheti.
dataFrame["ComputedPrices"] = dataFrame["HistoricalPrice"].Multiply(2);
Az adatok csoportokba rendezhetők egy adott oszlop értékeiből.
var sortedDataFrame = dataFrame.GroupBy("Size");
Az adatok különböző egyenlőségi metrikák alapján szűrhetők. Ez a példa egy ElementWise egyenlőségi függvényt használ, majd a logikai eredmény oszlopon alapuló szűrőket használ egy új DataFrame beolvasásához, amely csak a megfelelő értékeket tartalmazza.
PrimitiveDataFrameColumn<bool> boolFilter = dataFrame["CurrentPrice"].ElementwiseGreaterThan(200000);
DataFrame filteredDataFrame = dataFrame.Filter(boolFilter);
Adatforrások egyesítése
Vegye figyelembe a következő nyers adatokat:
Id, Bedrooms
1, 1
2, 2
3, 3
4, 2
5, 3
6, 1
A DataFrame-ek különálló adatoszlopokból hozhatók létre. Hozzon létre egy DataFrame-et a nyers adatok listájából.
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);
A két DataFrame a Id érték alapján egyesíthető. Az egyesítési függvény mind a DataFrame-eket, mind a sorokat összevonja az értékük Id alapján.
dataFrame = dataFrame.Merge(dataFrame2, new string[] {"Id"}, new string[] {"Id"});
Adatkeretek mentése
Az eredmények .csv formátumban menthetők.
DataFrame.SaveCsv(dataFrame, "result.csv", ',');
A DataFrame használata az ML.NET-ben
A DataFrames közvetlenül együttműködik az ML.NET-tel. A DataFrame megvalósítja a IDataView, és használható egy modell betanítására.