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 |