Turi Create  4.0
unity_sframe_interface.hpp
1 /* Copyright © 2017 Apple Inc. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-3-clause license that can
4  * be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5  */
6 #ifndef TURI_UNITY_SFRAME_INTERFACE_HPP
7 #define TURI_UNITY_SFRAME_INTERFACE_HPP
8 #include <memory>
9 #include <vector>
10 #include <string>
11 #include <core/data/flexible_type/flexible_type.hpp>
12 #include <core/storage/sframe_data/dataframe.hpp>
13 #include <model_server/lib/options_map.hpp>
14 #include <core/system/cppipc/magic_macros.hpp>
15 #include <model_server/lib/api/unity_sarray_interface.hpp>
16 
17 namespace turi {
18 
19 class unity_sframe_base;
20 typedef std::map<std::string, flex_type_enum> str_flex_type_map;
21 typedef std::map<std::string, flexible_type> csv_parsing_config_map;
22 typedef std::map<std::string, std::string> string_map;
23 typedef std::map<std::string, std::shared_ptr<unity_sarray_base>> csv_parsing_errors;
24 
25 GENERATE_INTERFACE_AND_PROXY(unity_sframe_base, unity_sframe_proxy,
26  (void, construct_from_dataframe, (const dataframe_t&))
27  (void, construct_from_sframe_index, (std::string))
28  (csv_parsing_errors, construct_from_csvs, (std::string)(csv_parsing_config_map)(str_flex_type_map))
29  (void, clear, )
30  (size_t, size, )
31  (std::shared_ptr<unity_sarray_base>, transform, (const std::string&)(flex_type_enum)(bool)(uint64_t))
32  (std::shared_ptr<unity_sarray_base>, transform_native, (const function_closure_info&)(flex_type_enum)(bool)(uint64_t))
33  (std::shared_ptr<unity_sframe_base>, flat_map, (const std::string&)(std::vector<std::string>)
34  (std::vector<flex_type_enum>)(bool)(uint64_t))
35  (void, save_frame, (std::string) )
36  (void, save_frame_reference, (std::string) )
37  (size_t, num_columns, )
38  (std::vector<flex_type_enum>, dtype, )
39  (std::vector<std::string>, column_names, )
40  (size_t, column_index, (const std::string &))
41  (std::shared_ptr<unity_sframe_base>, head, (size_t))
42  (std::shared_ptr<unity_sframe_base>, tail, (size_t))
43  (dataframe_t, _head, (size_t))
44  (dataframe_t, _tail, (size_t))
45  (std::shared_ptr<unity_sframe_base>, logical_filter, (std::shared_ptr<unity_sarray_base>))
46  (std::shared_ptr<unity_sframe_base>, select_columns, (const std::vector<std::string>&))
47  (std::shared_ptr<unity_sarray_base>, select_column, (const std::string&))
48  (void, add_column, (std::shared_ptr<unity_sarray_base >)(const std::string&))
49  (void, add_columns, (std::list<std::shared_ptr<unity_sarray_base >>)(std::vector<std::string>))
50  (void, set_column_name, (size_t)(std::string))
51  (void, remove_column, (size_t))
52  (void, swap_columns, (size_t)(size_t))
53  (void, begin_iterator, )
54  (std::vector<std::vector<flexible_type>>, iterator_get_next, (size_t))
55  (void, save_as_csv, (const std::string&)(csv_parsing_config_map))
56  (std::shared_ptr<unity_sframe_base>, sample, (float)(uint64_t)(bool))
57  (std::list<std::shared_ptr<unity_sframe_base>>, random_split, (float)(uint64_t)(bool))
58  (std::shared_ptr<unity_sframe_base>, shuffle, )
59  (std::shared_ptr<unity_sframe_base>, groupby_aggregate, (const std::vector<std::string>&)
60  (const std::vector<std::vector<std::string>>&)
61  (const std::vector<std::string>&)
62  (const std::vector<std::string>&))
63  (std::shared_ptr<unity_sframe_base>, append, (std::shared_ptr<unity_sframe_base>))
64  (void, materialize, )
65  (bool, is_materialized, )
66  (bool, has_size, )
67  (std::string, query_plan_string, )
68  (std::shared_ptr<unity_sframe_base>, join, (std::shared_ptr<unity_sframe_base>)(const std::string)(const string_map&))
69  (std::shared_ptr<unity_sframe_base>, join_with_custom_name, (std::shared_ptr<unity_sframe_base>)(const std::string)(const string_map&)(const string_map&))
70  (std::shared_ptr<unity_sframe_base>, sort, (const std::vector<std::string>&)(const std::vector<int>&))
71  (std::shared_ptr<unity_sarray_base>, pack_columns, (const std::vector<std::string>&)(const std::vector<std::string>&)(flex_type_enum)(const flexible_type&))
72  (std::shared_ptr<unity_sframe_base>, stack, (const std::string&)(const std::vector<std::string>&)(const std::vector<flex_type_enum>&)(bool))
73  (std::shared_ptr<unity_sframe_base>, copy_range, (size_t)(size_t)(size_t))
74  (std::list<std::shared_ptr<unity_sframe_base>>, drop_missing_values, (const std::vector<std::string>&)(bool)(bool)(bool))
75  (dataframe_t, to_dataframe, )
76  (void, delete_on_close, )
77  (void, explore, (const std::string&)(const std::string&))
78  (void, show, (const std::string&))
79  (std::shared_ptr<model_base>, plot, )
80  )
81 } // namespace turi
82 #endif // TURI_UNITY_SFRAME_INTERFACE_HPP
std::shared_ptr< sframe > sort(std::shared_ptr< planner_node > sframe_planner_node, const std::vector< std::string > column_names, const std::vector< size_t > &sort_column_indices, const std::vector< bool > &sort_orders)
sframe groupby_aggregate(const sframe &source, const std::vector< std::string > &keys, const std::vector< std::string > &group_output_columns, const std::vector< std::pair< std::vector< std::string >, std::shared_ptr< group_aggregate_value >>> &groups, size_t max_buffer_size=SFRAME_GROUPBY_BUFFER_NUM_ROWS)
void copy_range(S &&input, T &&output, size_t start, size_t step, size_t end)
Definition: algorithm.hpp:599
std::vector< sframe > shuffle(sframe sframe_in, size_t n, std::function< size_t(const std::vector< flexible_type > &)> hash_fn, std::function< void(const std::vector< flexible_type > &, size_t)> emit_call_back=std::function< void(const std::vector< flexible_type > &, size_t)>())
#define GENERATE_INTERFACE_AND_PROXY(base_name, proxy_name, functions)
void transform(S &&input, T &&output, TransformFn transformfn, std::set< size_t > constraint_segments=std::set< size_t >())
Definition: algorithm.hpp:64