geocif 0.2.67__tar.gz → 0.2.68__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.
- {geocif-0.2.67/geocif.egg-info → geocif-0.2.68}/PKG-INFO +13 -2
- {geocif-0.2.67 → geocif-0.2.68}/geocif/geocif.py +1 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/feature_selection.py +1 -1
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/stages.py +10 -7
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/stats.py +5 -5
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/aa.py +1 -0
- {geocif-0.2.67 → geocif-0.2.68/geocif.egg-info}/PKG-INFO +13 -2
- {geocif-0.2.67 → geocif-0.2.68}/setup.py +1 -1
- {geocif-0.2.67 → geocif-0.2.68}/LICENSE +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/MANIFEST.in +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/README.md +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/agmet/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/agmet/geoagmet.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/agmet/plot.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/agmet/utils.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/analysis.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/constants.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/features.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/geo.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/geocif.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/metadata.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/backup/models.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/cei/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/cei/definitions.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/cei/indices.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/experiments.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/geocif_runner.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_algeria.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_angola.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_madagascar.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_malawi.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_mozambique.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_south_africa.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_zambia.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/indices_runner_zimbabwe.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/logger.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/correlations.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/embedding.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/feature_engineering.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/outliers.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/outlook.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/output.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/spatial_autocorrelation.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/trainers.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/trend.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/ml/xai.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/mm.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/aaaa.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/area.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/automl.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/download_esi.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/enso.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/eval.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/gamtest.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/gee_access.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/misc.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/play_xagg.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/reg.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/sustain.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/test_catboost.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/tmp.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/tmp2.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/tmp3.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/tmp4.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/tmp5.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/wolayita.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/wolayita_maize_mask.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/wolayita_v2.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/playground/wolayita_v3.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/risk/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/risk/impact_assessment.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/utils.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/viz/__init__.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/viz/gt.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/viz/plot.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/viz/tmp.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif/viz/viz_ml.py +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif.egg-info/SOURCES.txt +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif.egg-info/dependency_links.txt +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif.egg-info/not-zip-safe +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/geocif.egg-info/top_level.txt +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/requirements.txt +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/setup.cfg +0 -0
- {geocif-0.2.67 → geocif-0.2.68}/tests/test_geocif.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: geocif
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.68
|
4
4
|
Summary: Models to visualize and forecast crop conditions and yields
|
5
5
|
Home-page: https://ritviksahajpal.github.io/yield_forecasting/
|
6
6
|
Author: Ritvik Sahajpal
|
@@ -16,6 +16,17 @@ Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Requires-Python: >=3.9
|
17
17
|
Description-Content-Type: text/markdown
|
18
18
|
License-File: LICENSE
|
19
|
+
Dynamic: author
|
20
|
+
Dynamic: author-email
|
21
|
+
Dynamic: classifier
|
22
|
+
Dynamic: description
|
23
|
+
Dynamic: description-content-type
|
24
|
+
Dynamic: home-page
|
25
|
+
Dynamic: keywords
|
26
|
+
Dynamic: license
|
27
|
+
Dynamic: license-file
|
28
|
+
Dynamic: requires-python
|
29
|
+
Dynamic: summary
|
19
30
|
|
20
31
|
# geocif
|
21
32
|
|
@@ -1543,6 +1543,7 @@ class Geocif:
|
|
1543
1543
|
self.logger.info("Adding starting and ending time period for each stage")
|
1544
1544
|
self.df_inputs = stages.add_stage_information(self.df_inputs, self.method)
|
1545
1545
|
|
1546
|
+
self.logger.info("Writing input file to disk")
|
1546
1547
|
self.df_inputs.to_csv(file, index=False)
|
1547
1548
|
else:
|
1548
1549
|
self.df_inputs = pd.read_csv(file)
|
@@ -250,7 +250,7 @@ def select_features(
|
|
250
250
|
|
251
251
|
elif method == "BorutaPy":
|
252
252
|
from boruta import BorutaPy
|
253
|
-
sel = BorutaPy(forest, n_estimators="auto", random_state=42, verbose=
|
253
|
+
sel = BorutaPy(forest, n_estimators="auto", random_state=42, verbose=2)
|
254
254
|
sel.fit(X_clean.values, y)
|
255
255
|
mask = sel.support_ | sel.support_weak_
|
256
256
|
selected = X_clean.columns[mask].tolist()
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import numpy as np
|
2
2
|
from typing import Union
|
3
|
+
from tqdm import tqdm
|
3
4
|
|
4
5
|
from geocif import utils
|
5
6
|
|
@@ -46,14 +47,16 @@ def add_stage_information(df, method):
|
|
46
47
|
df["Starting Stage"].map(dict) + " - " + df["Ending Stage"].map(dict)
|
47
48
|
)
|
48
49
|
|
49
|
-
|
50
|
-
|
51
|
-
#
|
52
|
-
# in the group
|
50
|
+
df["Percentage Season"] = float("nan")
|
51
|
+
|
52
|
+
# Group by Region and Harvest Year
|
53
53
|
grouped = df.groupby(["Region", "Harvest Year"])
|
54
|
-
|
55
|
-
|
56
|
-
)
|
54
|
+
|
55
|
+
# Loop through groups with tqdm
|
56
|
+
for (region, year), group in tqdm(grouped, desc="Computing Percentage Season"):
|
57
|
+
idx = group.index
|
58
|
+
n = len(group)
|
59
|
+
df.loc[idx, "Percentage Season"] = [i * 100.0 / n for i in range(n)]
|
57
60
|
|
58
61
|
return df
|
59
62
|
|
@@ -18,7 +18,7 @@ def get_yld_prd(df, name_crop, cntr, region, calendar_year, region_column="ADM1_
|
|
18
18
|
|
19
19
|
"""
|
20
20
|
# Get yield and production for country for specific year
|
21
|
-
val = np.
|
21
|
+
val = np.nan
|
22
22
|
|
23
23
|
# df.columns.values: [u'ADM0_NAME', u'ADM1_NAME', u'ADM2_NAME', u'str_ID', u'num_ID', 1990 ... 2015]
|
24
24
|
if calendar_year in df.columns:
|
@@ -88,7 +88,7 @@ def get_yld_prd(df, name_crop, cntr, region, calendar_year, region_column="ADM1_
|
|
88
88
|
|
89
89
|
try:
|
90
90
|
if val.isnull().all():
|
91
|
-
val = np.
|
91
|
+
val = np.nan
|
92
92
|
else:
|
93
93
|
val = val.values[0]
|
94
94
|
except:
|
@@ -97,10 +97,10 @@ def get_yld_prd(df, name_crop, cntr, region, calendar_year, region_column="ADM1_
|
|
97
97
|
else:
|
98
98
|
# The values[-1] is a hack to accommodate multiple types of green maize
|
99
99
|
vals = df[calendar_year]
|
100
|
-
val = vals.values[-1] if not vals.empty else np.
|
100
|
+
val = vals.values[-1] if not vals.empty else np.nan
|
101
101
|
|
102
102
|
# Replace yield/production value of 0 with NaN
|
103
|
-
val = np.
|
103
|
+
val = np.nan if val == 0.0 else val
|
104
104
|
|
105
105
|
return val
|
106
106
|
|
@@ -120,7 +120,7 @@ def add_GEOGLAM_statistics(dir_stats, df, stats, method, admin_zone):
|
|
120
120
|
"""
|
121
121
|
# Create empty columns for all the ag statistics
|
122
122
|
for stat in stats:
|
123
|
-
df.loc[:, stat] = np.
|
123
|
+
df.loc[:, stat] = np.nan
|
124
124
|
|
125
125
|
# Fill in the ag statistics columns with data when available
|
126
126
|
# Compute national scale statistics
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: geocif
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.68
|
4
4
|
Summary: Models to visualize and forecast crop conditions and yields
|
5
5
|
Home-page: https://ritviksahajpal.github.io/yield_forecasting/
|
6
6
|
Author: Ritvik Sahajpal
|
@@ -16,6 +16,17 @@ Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Requires-Python: >=3.9
|
17
17
|
Description-Content-Type: text/markdown
|
18
18
|
License-File: LICENSE
|
19
|
+
Dynamic: author
|
20
|
+
Dynamic: author-email
|
21
|
+
Dynamic: classifier
|
22
|
+
Dynamic: description
|
23
|
+
Dynamic: description-content-type
|
24
|
+
Dynamic: home-page
|
25
|
+
Dynamic: keywords
|
26
|
+
Dynamic: license
|
27
|
+
Dynamic: license-file
|
28
|
+
Dynamic: requires-python
|
29
|
+
Dynamic: summary
|
19
30
|
|
20
31
|
# geocif
|
21
32
|
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|