GenericScalar#
-
class pandas::GenericScalar#
pandas C++ class.
Example#
#include <pandas/pandas.h>
using namespace pandas;
// Use GenericScalar
GenericScalar obj;
// ... operations ...
Construction#
Signature |
Return Type |
Location |
Example |
|---|---|---|---|
|
static GenericScalar |
pd_generic_array_formatter.h:63 |
|
|
static GenericScalar |
pd_generic_array_formatter.h:66 |
Other Methods#
Signature |
Return Type |
Location |
Example |
|---|---|---|---|
|
static GenericScalar |
pd_generic_array_formatter.h:60 |
|
|
static GenericScalar |
pd_generic_array_formatter.h:62 |
|
|
static GenericScalar |
pd_generic_array_formatter.h:61 |
|
|
static GenericScalar |
pd_generic_array_formatter.h:59 |
Code Examples#
The following examples are extracted from the test suite.
from_string (pd_test_3_all.cpp:10837)
10827 const auto& s1 = df.column<int64_t>("A");
10828 const auto& s2 = df.col<int64_t>("A");
10829 if (s1.size() != s2.size() || s1[0] != s2[0]) {
10830 std::cout << " [FAIL] : in pd_test_3_all_column_alias() : mismatch" << std::endl;
10831 throw std::runtime_error("pd_test_3_all_column_alias failed");
10832 }
10833 std::cout << " -> tests passed" << std::endl;
10834}
10835
10836void pd_test_3_all_timedelta_from_string() {
10837 std::cout << "========= Timedelta::from_string() ======================";
10838 auto td1 = pandas::Timedelta::from_string("1 days");
10839 pandas::Timedelta td2("1 days");
10840 if (td1.value() != td2.value()) {
10841 std::cout << " [FAIL] : in pd_test_3_all_timedelta_from_string() : mismatch" << std::endl;
10842 throw std::runtime_error("pd_test_3_all_timedelta_from_string failed");
10843 }
10844 std::cout << " -> tests passed" << std::endl;
10845}
10846
10847void pd_test_3_all_replace_int() {
na (pd_test_1_all.cpp:84)
74 void pd_test_boolean_array_kleene_and() {
75 std::cout << "========= BooleanArray: Kleene AND ======================= ";
76
77 // Kleene AND truth table:
78 // T & T = T, T & F = F, T & NA = NA
79 // F & T = F, F & F = F, F & NA = F (False dominates)
80 // NA & T = NA, NA & F = F, NA & NA = NA
81
82 pandas::BooleanArray t({std::optional<bool>(true)});
83 pandas::BooleanArray f({std::optional<bool>(false)});
84 pandas::BooleanArray na({std::nullopt});
85
86 // T & T = T
87 auto tt = (t & t);
88 if (!tt[0].has_value() || !tt[0].value()) {
89 std::cout << " [FAIL] : in pd_test_boolean_array_kleene_and() : T & T should be T" << std::endl;
90 throw std::runtime_error("pd_test_boolean_array_kleene_and failed: T & T");
91 }
92
93 // T & F = F
94 auto tf = (t & f);
nan (pd_test_1_all.cpp:1556)
1546 std::cout << " -> tests passed" << std::endl;
1547 }
1548
1549 void pd_test_floating_array_nan_conversion() {
1550 std::cout << "========= FloatingArray: NaN to NA conversion ======================= ";
1551
1552 // NaN values should be automatically converted to NA
1553 pandas::FloatingArray<double> arr({
1554 std::optional<double>(1.0),
1555 std::optional<double>(std::nan("")), // NaN
1556 std::optional<double>(3.0)
1557 });
1558
1559 if (!arr.is_na(1)) {
1560 std::cout << " [FAIL] : in pd_test_floating_array_nan_conversion() : NaN should be converted to NA" << std::endl;
1561 throw std::runtime_error("pd_test_floating_array_nan_conversion failed: NaN should be NA");
1562 }
1563
1564 if (arr.is_na(0) || arr.is_na(2)) {
1565 std::cout << " [FAIL] : in pd_test_floating_array_nan_conversion() : non-NaN should not be NA" << std::endl;
nat (pd_test_5_all.cpp:97717)
97707 std::string result_override;
97708 std::string variant_label;
97709};
97710
97711static pandas::FillValue fv_none() { return pandas::FillValue::none(); }
97712
97713static pandas::FillValue fv_nan() { return pandas::FillValue::nan(); }
97714
97715static pandas::FillValue fv_na() { return pandas::FillValue::na(); }
97716
97717static pandas::FillValue fv_nat() { return pandas::FillValue::nat(); }
97718
97719static pandas::FillValue fv_bool_false() { return pandas::FillValue::of_bool(false); }
97720
97721static pandas::FillValue fv_num_zero() { return pandas::FillValue::of_numeric(0.0); }
97722
97723static pandas::FillValue fv_string_x() { return pandas::FillValue::of_string("x"); }
97724
97725static Probe probe_result(pandas::Result& r) {
97726 Probe p;
97727 std::visit([&](auto& alt) {
none (pd_test_5_all.cpp:90413)
90403 pandas::FillValue::of_bool(true));
90404 (void)r;
90405 }, local_fail);
90406}
90407
90408static void f_20_847312_dispatch_complex_none(int& local_fail) {
90409 std::cout << "-- f_20_847312_dispatch_complex_none\n";
90410 expect_value_error_duplicate("c12_dispatch_complex_none", [] {
90411 auto s = make_series<cplx>({{1, 2}, {3, 4}, {5, 6}}, {"c1", "c1", "c2"});
90412 auto r = s.reindex_dispatch({"c1", "c2", "c3"}, "",
90413 pandas::FillValue::none());
90414 (void)r;
90415 }, local_fail);
90416}
90417
90418static void f_20_847313_df_dup_rows_axis0(int& local_fail) {
90419 std::cout << "-- f_20_847313_df_dup_rows_axis0\n";
90420 expect_value_error_duplicate("c13_df_dup_rows_axis0", [] {
90421 std::vector<pandas::Series<std::int64_t>> cols;
90422 cols.emplace_back(std::vector<std::int64_t>{10, 20, 30});
90423 cols.emplace_back(std::vector<std::int64_t>{40, 50, 60});