Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.DataAnalysis
    • Accumulator(T, U) Class
    • Aggregator(T, U) Class
    • Aggregator2(T, U) Class
    • Aggregator2Group Class
    • Aggregator2Group(T) Class
    • AggregatorGroup Class
    • AggregatorGroup(T) Class
    • Aggregators Class
    • BoundaryIntervalBehavior Enumeration
    • CategoricalEncoding Class
    • DataFrame Class
    • DataFrame(R, C) Class
    • DataFrameRow(R, C) Class
    • DateTimeExtensions Class
    • DateTimeUnit Enumeration
    • Direction Enumeration
    • Grouping Class
    • Grouping(TKey) Class
    • Histogram Class
    • Histogram(T) Class
    • IAccumulator(T, U) Interface
    • IAccumulator2(T, U) Interface
    • IAccumulator2(T, U, V) Interface
    • IAggregator Interface
    • IAggregator(T) Interface
    • IAggregator2 Interface
    • IAggregator2(T) Interface
    • IDataFrame Interface
    • IGrouping Interface
    • IIndex Interface
    • Index Class
    • Index(T) Class
    • IntervalIndex(T) Class
    • IPivot Interface
    • JoinIndex Class
    • JoinType Enumeration
    • MissingValueAction Enumeration
    • MissingValueException Class
    • MultipleMissingValueAction Enumeration
    • Parameter(T) Class
    • ParameterVector(T) Class
    • Pivot Class
    • Pivot(R, C) Class
    • RankTiebreaker Enumeration
    • Recurrence Class
    • SortOrder Enumeration
    • SpecialBins Enumeration
    • Subset Class
    • TransformedParameter(T) Class
    • TypePreservingAggregatorGroup Class
    • VectorExtensions Class
  • DataFrame Class
    • Properties
    • Methods
  • Methods
    • Append Method Overloads
    • Apply(R, C, T) Method
    • CreateEmpty(R, C) Method
    • FromColumns Method Overloads
    • FromDataTable Method Overloads
    • FromMatrix Method Overloads
    • FromObjects Method Overloads
    • GetRows Method Overloads
    • Join Method Overloads
    • JoinOnNearest(R, C) Method
    • JoinOnSharedColumns(R1, R2, C) Method
    • ReadCsv Method Overloads
    • ReadDelimited Method
    • Resample Method Overloads
    • Stack Method Overloads
    • Unstack Method Overloads
    • WriteCsv(R, C) Method
  • Join Method Overloads
    • Join(R) Method (DataFrame(R, String), DataFrame(R, String), JoinType, String, String)
    • Join(R, C) Method (DataFrame(R, C), JoinType, DataFrame(R, C), Func(C, C), Func(C, C))
    • Join(R1, R2) Method (DataFrame(R1, String), JoinType, DataFrame(R2, String), IList(String), String, String)
    • Join(R1, R2) Method (DataFrame(R1, String), JoinType, DataFrame(R2, String), String, String, String)
    • Join(R1, R2, C) Method (DataFrame(R1, C), JoinType, DataFrame(R2, C), C, Func(C, C), Func(C, C))
    • Join(R1, R2, C) Method (DataFrame(R1, C), JoinType, DataFrame(R2, C), Boolean, C, C)
    • Join(R1, R2, C) Method (DataFrame(R1, C), JoinType, DataFrame(R2, C), IList(C), Func(C, C), Func(C, C))
  • Join(R1, R2, C) Method (DataFrame(R1, C), JoinType, DataFrame(R2, C), Boolean, C, C)

DataFrameJoinR1, R2, C Method (DataFrameR1, C, JoinType, DataFrameR2, C, Boolean, C, C)

Extreme Optimization Numerical Libraries for .NET Professional
Returns a new data frame by joining two data frames on the specified columns in each data frame.

Namespace:  Extreme.DataAnalysis
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
public static DataFrame<long, C> Join<R1, R2, C>(
	this DataFrame<R1, C> left,
	JoinType joinType,
	DataFrame<R2, C> right,
	bool sort,
	C leftColumnKey,
	C rightColumnKey
)
<ExtensionAttribute>
Public Shared Function Join(Of R1, R2, C) ( 
	left As DataFrame(Of R1, C),
	joinType As JoinType,
	right As DataFrame(Of R2, C),
	sort As Boolean,
	leftColumnKey As C,
	rightColumnKey As C
) As DataFrame(Of Long, C)
public:
[ExtensionAttribute]
generic<typename R1, typename R2, typename C>
static DataFrame<long long, C>^ Join(
	DataFrame<R1, C>^ left, 
	JoinType joinType, 
	DataFrame<R2, C>^ right, 
	bool sort, 
	C leftColumnKey, 
	C rightColumnKey
)
[<ExtensionAttribute>]
static member Join : 
        left : DataFrame<'R1, 'C> * 
        joinType : JoinType * 
        right : DataFrame<'R2, 'C> * 
        sort : bool * 
        leftColumnKey : 'C * 
        rightColumnKey : 'C -> DataFrame<int64, 'C> 

Parameters

left
Type: Extreme.DataAnalysisDataFrameR1, C
The data frame that serves as the left operand of the join operation.
joinType
Type: Extreme.DataAnalysisJoinType
The type of join operation to perform.
right
Type: Extreme.DataAnalysisDataFrameR2, C
The data frame that serves as the right operand of the join operation.
sort
Type: SystemBoolean
If true, sort the resulting data frame on the join column(s).
leftColumnKey
Type: C
The key of the join column in the left data frame..
rightColumnKey
Type: C
The key of the join column in the right data frame..

Type Parameters

R1
The element type of the row index of the left data frame.
R2
The element type of the row index of the right data frame.
C
The element type of the column index of the data frames.

Return Value

Type: DataFrameInt64, C
The joined data frame.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type DataFrameR1, C. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Exceptions

ExceptionCondition
ArgumentNullException

right is .

KeyNotFoundException

This data frame does not contain a column with key leftColumnKey.

-or-

right does not contain a column with key rightColumnKey.

See Also

Reference

DataFrame Class
Join Overload
Extreme.DataAnalysis Namespace

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.