M.join

定义

M.join.v3(self, 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

示例代码

查看模块可用版本
In [1]:
M.join.m_get_version
Out[1]:
<bound method BigQuantModule.m_get_version of 模块:join
可用版本(推荐使用最新版本):v3, v2>
数据转换
In [2]:
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()
[2017-11-14 14:45:51.378269] INFO: bigquant: cached.v3 开始运行..
[2017-11-14 14:45:51.414090] INFO: bigquant: cached.v3 运行完成[0.035855s].
[2017-11-14 14:45:51.428409] INFO: bigquant: join.v3 开始运行..
[2017-11-14 14:45:51.470341] INFO: join: /data, 行数=15/10, 耗时=0.019884s
[2017-11-14 14:45:51.476256] INFO: join: 最终行数: 15
[2017-11-14 14:45:51.478133] INFO: bigquant: join.v3 运行完成[0.049803s].
Out[2]:
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