IArrayLike#

class pandas::IArrayLike#

pandas C++ class.

Example#

#include <pandas/pandas.h>
using namespace pandas;

// Use IArrayLike
IArrayLike obj;
// ... operations ...

I/O#

Signature

Return Type

Location

Example

virtual std::shared_ptr<NDFrameBase> to_series() const = 0

virtual std::shared_ptr<NDFrameBase>

pd_callable_handle.h:111

View

Other Methods#

Signature

Return Type

Location

Example

virtual std::string dtype_name() const = 0

virtual std::string

pd_callable_handle.h:105

View

virtual std::size_t size() const = 0

virtual std::size_t

pd_callable_handle.h:106

View

Code Examples#

The following examples are extracted from the test suite.

to_series (pd_test_3_all.cpp:5788)
5778        throw std::runtime_error("to_frame use_index should be false when index=false");
5779    }
5780    if (frame3.column_name != "0") {
5781        throw std::runtime_error("to_frame column_name should be '0' when no name");
5782    }
5783
5784    std::cout << " -> tests passed" << std::endl;
5785}
5786
5787void pd_test_3_all_period_index_to_series() {
5788    std::cout << "========= PeriodIndex.to_series() =====================";
5789
5790    pandas::PeriodIndex idx = make_period_index({1, 2, 3}, "M").rename("periods");
5791
5792    // Test to_series() with default parameters
5793    pandas::PeriodIndex::SeriesData series = idx.to_series();
5794
5795    // values should have same size
5796    if (series.values.size() != 3) {
5797        throw std::runtime_error("to_series values size should be 3");
5798    }
dtype_name (pd_test_1_all.cpp:10104)
10094}
10095
10096void pd_test_extension_index_array_constructor() {
10097    std::cout << "========= array constructor =========================";
10098
10099    pandas::CategoricalArray arr({"apple", "banana", "apple", "cherry"});
10100    pandas::CategoricalIndex idx(arr, "fruits");
10101
10102    bool passed = (idx.size() == 4 && !idx.empty() &&
10103                   idx.name().has_value() && *idx.name() == "fruits" &&
10104                   idx.dtype_name() == "category");
10105    if (!passed) {
10106        std::cout << "  [FAIL] : in pd_test_extension_index_array_constructor() : array constructor check failed" << std::endl;
10107        throw std::runtime_error("pd_test_extension_index_array_constructor failed");
10108    }
10109
10110    std::cout << " -> tests passed" << std::endl;
10111}
10112
10113void pd_test_extension_index_copy_constructor() {
10114    std::cout << "========= copy constructor =========================";
size (pd_test_1_all.cpp:22)
12#include "../pandas/pd_boolean_array.h"
13
14namespace dataframe_tests {
15
16namespace dataframe_tests_boolean_array {
17    void pd_test_boolean_array_constructors() {
18        std::cout << "========= BooleanArray: constructors ======================= ";
19
20        // Default constructor
21        pandas::BooleanArray arr1;
22        if (arr1.size() != 0) {
23            std::cout << "  [FAIL] : in pd_test_boolean_array_constructors() : default constructor size != 0" << std::endl;
24            throw std::runtime_error("pd_test_boolean_array_constructors failed: default constructor size != 0");
25        }
26
27        // Initializer list constructor
28        pandas::BooleanArray arr2({
29            std::optional<bool>(true),
30            std::optional<bool>(false),
31            std::nullopt,
32            std::optional<bool>(true)