连接数据

# 连接数据

# 连接两个数据输入

定义

M.join.v3(data1, data2, on='date, instrument', how='inner', sort=False)

连接两个DataSource (数据内容DataFrame)

参数:

  • data1 (DataSource) – 第一个输入数据。
  • data2 (DataSource) – 第二个输入数据。
  • on (str) – 关联列,多个列用英文逗号分隔;默认值是date,instrument。
  • how (choice) – 连接方式;可选值有: left, right, outer, inner;默认值是inner。
  • sort (bool) – 对结果排序;默认值是False。

返回:

  • .data: 连接后的数据

返回类型:

  • Outputs

示例代码:

def test_data():
    return Outputs(
        d1 = DataSource.write_df(pd.DataFrame({'a': range(0, 10), 'b': range(0, 10)})),
        d2 = DataSource.write_df(pd.DataFrame({'a': range(0, 20, 2)})),
    )
m1 = M.cached.v3(run=test_data)
m2 = M.join.v3(data1=m1.d1, data2=m1.d2, how='outer', on=['a'], sort=True)
m2.data.read_df()

运行结果

[2018-09-11 20:40:11.536952] INFO: bigquant: cached.v3 开始运行..
[2018-09-11 20:40:11.576964] INFO: bigquant: cached.v3 运行完成[0.040018s].
[2018-09-11 20:40:11.585393] INFO: bigquant: join.v3 开始运行..
[2018-09-11 20:40:11.640500] INFO: join: /data, 行数=15/10, 耗时=0.031666s
[2018-09-11 20:40:11.649977] INFO: join: 最终行数: 15
[2018-09-11 20:40:11.651708] INFO: bigquant: join.v3 运行完成[0.066303s].
a    b
0    0    0.0
1    1    1.0
2    2    2.0
3    3    3.0
4    4    4.0
5    5    5.0
6    6    6.0
7    7    7.0
8    8    8.0
9    9    9.0
10    10    NaN
11    12    NaN
12    14    NaN
13    16    NaN
14    18    NaN

# 连接四个数据输入

(可视化模块)
用于多个数据DataFrame的横向合并拼接
定义

M.joinx.v1(on=str,how=str,sort=False)

参数

  • on (str) — 合并索引(支持多个列),例如 instrument,date
  • how(str)— 合并方式,可以选择’left, ’right’, ‘outer’,’inner’
  • sort(Bool)—是否对结果排序,默认不排序

返回

按指定索引横向合并后的数据

返回类型

OutPuts