findly.unified-reporting-sdk 0.7.13__tar.gz → 0.7.14__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/PKG-INFO +1 -1
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_query_args_parser.py +0 -9
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py +2 -2
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py +32 -32
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/pyproject.toml +1 -1
- findly_unified_reporting_sdk-0.7.13/findly/unified_reporting_sdk/util/__init__.py +0 -0
- findly_unified_reporting_sdk-0.7.13/findly/unified_reporting_sdk/util/create_numeric_string_series.py +0 -16
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/LICENSE +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/README.md +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/common_parser.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/date_range_helper.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/entities.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/reports_client.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/common/where_string_comparison.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_client.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/action_breakdowns.csv +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/breakdowns.csv +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/dimensions.jsonl +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/fields.csv +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/metrics.jsonl +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/ga4/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/ga4/ga4_client.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/ga4/metadata/dimensions.jsonl +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/gsc/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/gsc/gsc_client.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/protos/.gitignore +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/protos/__init__.py +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.pyi +0 -0
- {findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/unified_reporting_sdk/urs.py +0 -0
|
@@ -11,10 +11,6 @@ from findly.unified_reporting_sdk.data_sources.common.common_parser import (
|
|
|
11
11
|
RESERVED_TOTAL,
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
from findly.unified_reporting_sdk.util.create_numeric_string_series import (
|
|
15
|
-
create_numeric_string_series,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
14
|
from findly.unified_reporting_sdk.data_sources.common.where_string_comparison import (
|
|
19
15
|
parse_where_column_condition,
|
|
20
16
|
WhereClauseInformation,
|
|
@@ -333,8 +329,6 @@ class FbAdsQueryArgsParser(CommonParser):
|
|
|
333
329
|
|
|
334
330
|
# remove duplicates from explosions and reset index
|
|
335
331
|
df = df.drop_duplicates().reset_index(drop=True)
|
|
336
|
-
# Also cap float columns to 2 decimal places
|
|
337
|
-
df = df.apply(create_numeric_string_series)
|
|
338
332
|
|
|
339
333
|
# At last, return that if there is only one date range,
|
|
340
334
|
# else, we need to split the dataframe into multiple dataframes
|
|
@@ -555,9 +549,6 @@ class FbAdsQueryArgsParser(CommonParser):
|
|
|
555
549
|
# Keep only the first row
|
|
556
550
|
summary_df = summary_df.head(1)
|
|
557
551
|
|
|
558
|
-
# Also cap float columns to 2 decimal places
|
|
559
|
-
summary_df = summary_df.apply(create_numeric_string_series)
|
|
560
|
-
|
|
561
552
|
return [summary_df]
|
|
562
553
|
|
|
563
554
|
async def parse_query_args_to_request_params(
|
|
@@ -83,14 +83,14 @@ class GA4QueryArgsParser(CommonParser):
|
|
|
83
83
|
# Check if the metric header ends with 'Rate'
|
|
84
84
|
if header.endswith("Rate"):
|
|
85
85
|
# Convert the value to a float and multiply by 100
|
|
86
|
-
value_number =
|
|
86
|
+
value_number = float(value) * 100
|
|
87
87
|
else:
|
|
88
88
|
# Cap float values to 2 decimal places
|
|
89
89
|
value_number = float(value)
|
|
90
90
|
if value_number.is_integer():
|
|
91
91
|
value_number = int(value_number)
|
|
92
92
|
else:
|
|
93
|
-
value_number =
|
|
93
|
+
value_number = value_number
|
|
94
94
|
row_dict[header] = value_number
|
|
95
95
|
|
|
96
96
|
rows.append(row_dict)
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: findly_semantic_layer.proto
|
|
4
4
|
"""Generated protocol buffer code."""
|
|
5
|
-
from google.protobuf.internal import builder as _builder
|
|
6
5
|
from google.protobuf import descriptor as _descriptor
|
|
7
6
|
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
7
|
from google.protobuf import symbol_database as _symbol_database
|
|
8
|
+
from google.protobuf.internal import builder as _builder
|
|
9
9
|
# @@protoc_insertion_point(imports)
|
|
10
10
|
|
|
11
11
|
_sym_db = _symbol_database.Default()
|
|
@@ -15,37 +15,37 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
|
|
16
16
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66indly_semantic_layer.proto\x12\x15\x66indly_semantic_layer\"\xd4\x02\n\tDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.findly_semantic_layer.DimensionType\x12?\n\x0btype_params\x18\x05 \x01(\x0b\x32*.findly_semantic_layer.DimensionTypeParams\x12\x14\n\x0ctop_n_values\x18\x06 \x03(\t\x12\x16\n\nvalue_type\x18\x07 \x01(\tB\x02\x18\x01\x12\x19\n\x11\x64\x61ta_source_names\x18\x08 \x03(\t\x12\x14\n\x0c\x64isplay_name\x18\t \x01(\t\x12\x42\n\x0fvalue_type_enum\x18\n \x01(\x0e\x32).findly_semantic_layer.DimensionValueType\"k\n\x13\x44imensionTypeParams\x12@\n\x10time_granularity\x18\x01 \x01(\x0e\x32&.findly_semantic_layer.DateGranularity\x12\x12\n\nis_primary\x18\x02 \x01(\x08\"\x8b\x03\n\x06Metric\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nexpression\x18\x04 \x01(\t\x12\x18\n\x10view_id_of_table\x18\x05 \x01(\t\x12\x12\n\ntable_name\x18\x06 \x01(\t\x12\x10\n\x08measures\x18\x07 \x03(\t\x12\x11\n\tnumerator\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65nominator\x18\t \x01(\t\x12/\n\x04type\x18\n \x01(\x0e\x32!.findly_semantic_layer.MetricType\x12\x10\n\x06window\x18\x0b \x01(\tH\x00\x12\x17\n\rgrain_to_date\x18\x0c \x01(\tH\x00\x12:\n\nvalue_type\x18\r \x01(\x0e\x32&.findly_semantic_layer.MetricValueType\x12\x14\n\x0c\x64isplay_name\x18\x0e \x01(\t\x12\x12\n\nis_numeric\x18\x0f \x01(\x08\x42\x14\n\x12\x63umulative_process\"4\n\x0c\x44\x61teStrRange\x12\x12\n\nstart_date\x18\x01 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x02 \x01(\t\"\x93\x03\n\tQueryArgs\x12\x14\n\x0cwhere_clause\x18\x01 \x01(\t\x12\x18\n\x10group_by_columns\x18\x02 \x03(\t\x12\x1a\n\x12metrics_expression\x18\x03 \x03(\t\x12\r\n\x05limit\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x03(\t\x12\x19\n\x11\x64\x61te_where_clause\x18\x06 \x01(\t\x12\x0f\n\x07metrics\x18\x07 \x03(\t\x12\x15\n\rhaving_clause\x18\x08 \x01(\t\x12\x1c\n\x14incompatible_metrics\x18\t \x03(\t\x12\x1f\n\x17incompatible_dimensions\x18\n \x03(\t\x12\x38\n\x0b\x64\x61te_ranges\x18\x0b \x03(\x0b\x32#.findly_semantic_layer.DateStrRange\x12\x17\n\x0fsql_explanation\x18\x0c \x01(\t\x12\r\n\x05level\x18\r \x01(\t\x12\x16\n\x0etime_increment\x18\x0e \x01(\t\x12\x1d\n\x15main_data_source_name\x18\x0f \x01(\t\"\x80\x01\n\x12\x44\x61tasourceMetadata\x12>\n\x08location\x18\x01 \x01(\x0e\x32,.findly_semantic_layer.DataSourceIntegration\x12\x13\n\x0bproperty_id\x18\x02 \x01(\t\x12\x15\n\rproperty_name\x18\x03 \x01(\t*b\n\x15\x44\x61taSourceIntegration\x12 \n\x1c\x44\x41TA_SOURCE_LOCATION_UNKNOWN\x10\x00\x12\x12\n\x0eSEMANTIC_LAYER\x10\x01\x12\x07\n\x03GA4\x10\x02\x12\n\n\x06\x46\x42_ADS\x10\x03*S\n\x0f\x44\x61teGranularity\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\x08\n\x04WEEK\x10\x02\x12\t\n\x05MONTH\x10\x03\x12\x0b\n\x07QUARTER\x10\x04\x12\x08\n\x04YEAR\x10\x05*\x7f\n\x0b\x41ggregation\x12\x17\n\x13\x41GGREGATION_UNKNOWN\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x0f\n\x0bSUM_BOOLEAN\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x12\x0b\n\x07\x41VERAGE\x10\x06\x12\n\n\x06MEDIAN\x10\x07*\xab\x01\n\rDimensionType\x12\x15\n\x11\x44IMENSION_UNKNOWN\x10\x00\x12\x0f\n\x0b\x43\x41TEGORICAL\x10\x01\x12\x08\n\x04TIME\x10\x02\x12\x10\n\x0c\x46\x42_ADS_FIELD\x10\x03\x12\x14\n\x10\x46\x42_ADS_BREAKDOWN\x10\x04\x12\x1b\n\x17\x46\x42_ADS_ACTION_BREAKDOWN\x10\x05\x12#\n\x1f\x46\x42_ADS_SUMMARY_ACTION_BREAKDOWN\x10\x06*\x84\x01\n\x12\x44imensionValueType\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x00\x12\n\n\x06STRING\x10\x01\x12\x0b\n\x07INTEGER\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\x0c\n\x08\x44\x41TETIME\x10\x06\x12\r\n\tTIMESTAMP\x10\x07*o\n\nMetricType\x12\x12\n\x0eMETRIC_UNKNOWN\x10\x00\x12\x11\n\rMEASURE_PROXY\x10\x01\x12\x0e\n\nCUMULATIVE\x10\x02\x12\t\n\x05RATIO\x10\x03\x12\x0b\n\x07\x44\x45RIVED\x10\x04\x12\x12\n\x0eSQL_EXPRESSION\x10\x05*\xf9\x04\n\x0fMetricValueType\x12\x1d\n\x19METRIC_VALUE_TYPE_UNKNOWN\x10\x00\x12\x1d\n\x19METRIC_VALUE_TYPE_INTEGER\x10\x01\x12\x1b\n\x17METRIC_VALUE_TYPE_FLOAT\x10\x02\x12\x1d\n\x19METRIC_VALUE_TYPE_SECONDS\x10\x03\x12\"\n\x1eMETRIC_VALUE_TYPE_MILLISECONDS\x10\x04\x12\x1d\n\x19METRIC_VALUE_TYPE_MINUTES\x10\x05\x12\x1b\n\x17METRIC_VALUE_TYPE_HOURS\x10\x06\x12\x1e\n\x1aMETRIC_VALUE_TYPE_STANDARD\x10\x07\x12\x1e\n\x1aMETRIC_VALUE_TYPE_CURRENCY\x10\x08\x12\x1a\n\x16METRIC_VALUE_TYPE_FEET\x10\t\x12\x1b\n\x17METRIC_VALUE_TYPE_MILES\x10\n\x12\x1c\n\x18METRIC_VALUE_TYPE_METERS\x10\x0b\x12 \n\x1cMETRIC_VALUE_TYPE_KILOMETERS\x10\x0c\x12\x1c\n\x18METRIC_VALUE_TYPE_STRING\x10\r\x12$\n METRIC_VALUE_TYPE_NUMERIC_STRING\x10\x0e\x12+\n\'METRIC_VALUE_TYPE_LIST_ADS_ACTION_STATS\x10\x0f\x12\x32\n.METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT\x10\x10\x12.\n*METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS\x10\x11\x62\x06proto3')
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
_builder.
|
|
18
|
+
_globals = globals()
|
|
19
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
20
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'findly_semantic_layer_pb2', _globals)
|
|
20
21
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
21
|
-
|
|
22
22
|
DESCRIPTOR._options = None
|
|
23
|
-
_DIMENSION.fields_by_name['value_type']._options = None
|
|
24
|
-
_DIMENSION.fields_by_name['value_type']._serialized_options = b'\030\001'
|
|
25
|
-
_DATASOURCEINTEGRATION._serialized_start=1495
|
|
26
|
-
_DATASOURCEINTEGRATION._serialized_end=1593
|
|
27
|
-
_DATEGRANULARITY._serialized_start=1595
|
|
28
|
-
_DATEGRANULARITY._serialized_end=1678
|
|
29
|
-
_AGGREGATION._serialized_start=1680
|
|
30
|
-
_AGGREGATION._serialized_end=1807
|
|
31
|
-
_DIMENSIONTYPE._serialized_start=1810
|
|
32
|
-
_DIMENSIONTYPE._serialized_end=1981
|
|
33
|
-
_DIMENSIONVALUETYPE._serialized_start=1984
|
|
34
|
-
_DIMENSIONVALUETYPE._serialized_end=2116
|
|
35
|
-
_METRICTYPE._serialized_start=2118
|
|
36
|
-
_METRICTYPE._serialized_end=2229
|
|
37
|
-
_METRICVALUETYPE._serialized_start=2232
|
|
38
|
-
_METRICVALUETYPE._serialized_end=2865
|
|
39
|
-
_DIMENSION._serialized_start=55
|
|
40
|
-
_DIMENSION._serialized_end=395
|
|
41
|
-
_DIMENSIONTYPEPARAMS._serialized_start=397
|
|
42
|
-
_DIMENSIONTYPEPARAMS._serialized_end=504
|
|
43
|
-
_METRIC._serialized_start=507
|
|
44
|
-
_METRIC._serialized_end=902
|
|
45
|
-
_DATESTRRANGE._serialized_start=904
|
|
46
|
-
_DATESTRRANGE._serialized_end=956
|
|
47
|
-
_QUERYARGS._serialized_start=959
|
|
48
|
-
_QUERYARGS._serialized_end=1362
|
|
49
|
-
_DATASOURCEMETADATA._serialized_start=1365
|
|
50
|
-
_DATASOURCEMETADATA._serialized_end=1493
|
|
23
|
+
_globals['_DIMENSION'].fields_by_name['value_type']._options = None
|
|
24
|
+
_globals['_DIMENSION'].fields_by_name['value_type']._serialized_options = b'\030\001'
|
|
25
|
+
_globals['_DATASOURCEINTEGRATION']._serialized_start=1495
|
|
26
|
+
_globals['_DATASOURCEINTEGRATION']._serialized_end=1593
|
|
27
|
+
_globals['_DATEGRANULARITY']._serialized_start=1595
|
|
28
|
+
_globals['_DATEGRANULARITY']._serialized_end=1678
|
|
29
|
+
_globals['_AGGREGATION']._serialized_start=1680
|
|
30
|
+
_globals['_AGGREGATION']._serialized_end=1807
|
|
31
|
+
_globals['_DIMENSIONTYPE']._serialized_start=1810
|
|
32
|
+
_globals['_DIMENSIONTYPE']._serialized_end=1981
|
|
33
|
+
_globals['_DIMENSIONVALUETYPE']._serialized_start=1984
|
|
34
|
+
_globals['_DIMENSIONVALUETYPE']._serialized_end=2116
|
|
35
|
+
_globals['_METRICTYPE']._serialized_start=2118
|
|
36
|
+
_globals['_METRICTYPE']._serialized_end=2229
|
|
37
|
+
_globals['_METRICVALUETYPE']._serialized_start=2232
|
|
38
|
+
_globals['_METRICVALUETYPE']._serialized_end=2865
|
|
39
|
+
_globals['_DIMENSION']._serialized_start=55
|
|
40
|
+
_globals['_DIMENSION']._serialized_end=395
|
|
41
|
+
_globals['_DIMENSIONTYPEPARAMS']._serialized_start=397
|
|
42
|
+
_globals['_DIMENSIONTYPEPARAMS']._serialized_end=504
|
|
43
|
+
_globals['_METRIC']._serialized_start=507
|
|
44
|
+
_globals['_METRIC']._serialized_end=902
|
|
45
|
+
_globals['_DATESTRRANGE']._serialized_start=904
|
|
46
|
+
_globals['_DATESTRRANGE']._serialized_end=956
|
|
47
|
+
_globals['_QUERYARGS']._serialized_start=959
|
|
48
|
+
_globals['_QUERYARGS']._serialized_end=1362
|
|
49
|
+
_globals['_DATASOURCEMETADATA']._serialized_start=1365
|
|
50
|
+
_globals['_DATASOURCEMETADATA']._serialized_end=1493
|
|
51
51
|
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import pandas as pd
|
|
2
|
-
|
|
3
|
-
DEFAULT_FLOAT_PRECISION = 2
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def create_numeric_string_series(
|
|
7
|
-
col: pd.Series, precision: int = DEFAULT_FLOAT_PRECISION
|
|
8
|
-
) -> pd.Series:
|
|
9
|
-
try:
|
|
10
|
-
numeric_col: pd.Series = pd.to_numeric(col)
|
|
11
|
-
if (numeric_col.dropna() % 1 == 0).all():
|
|
12
|
-
return numeric_col.astype(int).astype(str)
|
|
13
|
-
else:
|
|
14
|
-
return numeric_col.astype(float).round(precision).astype(str)
|
|
15
|
-
except Exception:
|
|
16
|
-
return col
|
|
File without changes
|
|
File without changes
|
{findly_unified_reporting_sdk-0.7.13 → findly_unified_reporting_sdk-0.7.14}/findly/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|