Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aprenda como começar a usar DataFrames, que são estruturas de dados bidimensionais para armazenar e manipular dados. Os DataFrames ajudam na preparação de dados para um modelo de machine learning. Os DataFrames também podem ser usados para manipulação de dados não relacionada ao machine learning.
Instalar o Microsoft.Data.Analysis
Na maioria dos casos, acessar DataFrame é tão simples quanto referenciar o pacote NuGet do Microsoft.Data.Analysis.
dotnet add package Microsoft.Data.Analysis
Ou, no .NET 10+:
dotnet package add Microsoft.Data.Analysis
Carregar dados
Os DataFrames facilitam o carregamento de dados de tabela. Crie um arquivo separado por vírgula chamado housing-prices.csv com os dados a seguir.
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
Comece carregando os dados em um DataFrame.
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);
Inspecionar dados
Os DataFrames armazenam dados como uma coleção de colunas. Isso facilita a interação com os dados.
Para obter uma visualização dos tipos de dados de coluna, execute Info().
dataFrame.Info();
Para obter um resumo dos dados, execute Description().
dataFrame.Description();
Transformar dados
Há uma variedade de opções transformadoras para dados. As classes DataFrame e DataFrameColumn expõem uma série de APIs úteis, incluindo operações binárias, cálculos, junções, fusões e tratamento de valores ausentes.
Por exemplo, esses dados podem ser editados para comparar os preços históricos com os preços atuais para representar a inflação. Você pode aplicar um cálculo a todos os valores e salvar os resultados em uma nova coluna.
dataFrame["ComputedPrices"] = dataFrame["HistoricalPrice"].Multiply(2);
Os dados podem ser classificados em grupos com base nos valores em uma coluna específica.
var sortedDataFrame = dataFrame.GroupBy("Size");
Os dados podem ser filtrados com base em diferentes métricas de igualdade. Este exemplo usa uma função de igualdade ElementWise e, em seguida, filtra com base na coluna de resultado booliano para obter um novo DataFrame com apenas os valores apropriados.
PrimitiveDataFrameColumn<bool> boolFilter = dataFrame["CurrentPrice"].ElementwiseGreaterThan(200000);
DataFrame filteredDataFrame = dataFrame.Filter(boolFilter);
Combinar fontes de dados
Considere os seguintes dados brutos:
Id, Bedrooms
1, 1
2, 2
3, 3
4, 2
5, 3
6, 1
OS DataFrames podem ser construídos com base em colunas de dados individuais. Crie um DataFrame a partir de uma lista de dados brutos.
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);
Os dois DataFrames podem ser mesclados com base no valor Id
. A função de mesclagem usa DataFrames e combina linhas com base em seus valores Id
.
dataFrame = dataFrame.Merge(dataFrame2, new string[] {"Id"}, new string[] {"Id"});
Salvar DataFrames
Os resultados podem ser salvos novamente em formato .csv.
DataFrame.SaveCsv(dataFrame, "result.csv", ',');
Usar DataFrame com o ML.NET
Os DataFrames funcionam diretamente com o ML.NET. O DataFrame implementa o IDataView e pode ser usado para treinar um modelo.