在C#中,可以使用第三方庫如NumSharp或者ML.NET來使用DataFrame進行數據分析。
使用NumSharp庫:
using NumSharp;
using NumSharp.Extensions;
// 創建DataFrame
var data = new DataFrame();
data["Name"] = new string[] { "Alice", "Bob", "Charlie", "David" };
data["Age"] = new int[] { 25, 30, 35, 40 };
data["Salary"] = new int[] { 50000, 60000, 70000, 80000 };
// 訪問DataFrame的列
var names = data["Name"].ToStringArray();
var ages = data["Age"].ToInt32Array();
var salaries = data["Salary"].ToInt32Array();
// 進行數據分析操作
var averageSalary = data["Salary"].Mean();
var maxAge = data["Age"].Max();
使用ML.NET庫:
using Microsoft.ML;
using Microsoft.ML.Data;
// 定義數據模型
public class EmployeeData
{
[LoadColumn(0)]
public string Name { get; set; }
[LoadColumn(1)]
public float Age { get; set; }
[LoadColumn(2)]
public float Salary { get; set; }
}
// 創建MLContext
var mlContext = new MLContext();
// 加載數據
var data = mlContext.Data.LoadFromEnumerable<EmployeeData>(new EmployeeData[]
{
new EmployeeData { Name = "Alice", Age = 25, Salary = 50000 },
new EmployeeData { Name = "Bob", Age = 30, Salary = 60000 },
new EmployeeData { Name = "Charlie", Age = 35, Salary = 70000 },
new EmployeeData { Name = "David", Age = 40, Salary = 80000 }
});
// 進行數據轉換操作
var transformedData = mlContext.Data.CreateEnumerable<EmployeeData>(data, reuseRowObject: false);
// 進行數據分析操作
var averageSalary = transformedData.Select(x => x.Salary).Average();
var maxAge = transformedData.Select(x => x.Age).Max();
以上是使用NumSharp和ML.NET庫進行DataFrame數據分析的簡單示例。可以根據具體的需求和數據進行更詳細的操作和分析。