PartialKeyResult ================ .. cpp:class:: pandas::PartialKeyResult pandas C++ class. Example ------- .. code-block:: cpp #include using namespace pandas; // Use PartialKeyResult PartialKeyResult obj; // ... operations ... Type Checking ------------- .. list-table:: :widths: 40 20 15 25 :header-rows: 1 * - Signature - Return Type - Location - Example * - ``bool is_single_level() const { return single_index.has_value()`` - bool - pd_multiindex.h:3273 - :ref:`View ` Code Examples ------------- The following examples are extracted from the test suite. .. _example-partialkeyresult-is_single_level-0: .. dropdown:: is_single_level (pd_test_3_all.cpp:26357) :class-title: example-dropdown .. code-block:: cpp :linenos: :lineno-start: 26347 :emphasize-lines: 11 std::vector> arrays = { {"foo", "foo", "bar", "bar"}, {"one", "two", "one", "two"} }; std::vector> names = {"first", "second"}; auto mi = ::pandas::MultiIndex::from_arrays(arrays, names); auto pk = ::pandas::select_by_first_level(mi,"foo"); if (pk.matched_indices.size() != 2) throw std::runtime_error("Expected 2 matches for 'foo'"); if (pk.matched_indices[0] != 0 || pk.matched_indices[1] != 1) throw std::runtime_error("Wrong indices for 'foo'"); if (!pk.is_single_level()) throw std::runtime_error("Expected single level for 2-level MI"); auto idx = *pk.single_index; if (idx.size() != 2) throw std::runtime_error("Expected index size 2"); if (idx[0] != "one" || idx[1] != "two") throw std::runtime_error("Wrong index values"); if (!idx.name().has_value() || *idx.name() != "second") throw std::runtime_error("Wrong index name"); std::cout << " PASSED" << std::endl; } void pd_test_multiindex_partial_key_bar() { std::cout << " Testing select_by_first_level 2-level 'bar'..." << std::endl; std::vector> arrays = {