geocif 0.1.73__tar.gz → 0.1.76__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.
Files changed (83) hide show
  1. {geocif-0.1.73/geocif.egg-info → geocif-0.1.76}/PKG-INFO +1 -1
  2. {geocif-0.1.73 → geocif-0.1.76}/geocif/cei/indices.py +2 -2
  3. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner.py +2 -2
  4. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/aa.py +18 -0
  5. {geocif-0.1.73 → geocif-0.1.76/geocif.egg-info}/PKG-INFO +1 -1
  6. {geocif-0.1.73 → geocif-0.1.76}/setup.py +1 -1
  7. {geocif-0.1.73 → geocif-0.1.76}/LICENSE +0 -0
  8. {geocif-0.1.73 → geocif-0.1.76}/MANIFEST.in +0 -0
  9. {geocif-0.1.73 → geocif-0.1.76}/README.md +0 -0
  10. {geocif-0.1.73 → geocif-0.1.76}/geocif/__init__.py +0 -0
  11. {geocif-0.1.73 → geocif-0.1.76}/geocif/agmet/__init__.py +0 -0
  12. {geocif-0.1.73 → geocif-0.1.76}/geocif/agmet/geoagmet.py +0 -0
  13. {geocif-0.1.73 → geocif-0.1.76}/geocif/agmet/plot.py +0 -0
  14. {geocif-0.1.73 → geocif-0.1.76}/geocif/agmet/utils.py +0 -0
  15. {geocif-0.1.73 → geocif-0.1.76}/geocif/analysis.py +0 -0
  16. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/__init__.py +0 -0
  17. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/constants.py +0 -0
  18. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/features.py +0 -0
  19. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/geo.py +0 -0
  20. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/geocif.py +0 -0
  21. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/metadata.py +0 -0
  22. {geocif-0.1.73 → geocif-0.1.76}/geocif/backup/models.py +0 -0
  23. {geocif-0.1.73 → geocif-0.1.76}/geocif/cei/__init__.py +0 -0
  24. {geocif-0.1.73 → geocif-0.1.76}/geocif/cei/definitions.py +0 -0
  25. {geocif-0.1.73 → geocif-0.1.76}/geocif/experiments.py +0 -0
  26. {geocif-0.1.73 → geocif-0.1.76}/geocif/geocif.py +0 -0
  27. {geocif-0.1.73 → geocif-0.1.76}/geocif/geocif_runner.py +0 -0
  28. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_angola.py +0 -0
  29. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_madagascar.py +0 -0
  30. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_malawi.py +0 -0
  31. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_mozambique.py +0 -0
  32. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_south_africa.py +0 -0
  33. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_zambia.py +0 -0
  34. {geocif-0.1.73 → geocif-0.1.76}/geocif/indices_runner_zimbabwe.py +0 -0
  35. {geocif-0.1.73 → geocif-0.1.76}/geocif/logger.py +0 -0
  36. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/__init__.py +0 -0
  37. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/correlations.py +0 -0
  38. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/embedding.py +0 -0
  39. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/feature_engineering.py +0 -0
  40. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/feature_selection.py +0 -0
  41. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/outliers.py +0 -0
  42. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/outlook.py +0 -0
  43. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/output.py +0 -0
  44. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/spatial_autocorrelation.py +0 -0
  45. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/stages.py +0 -0
  46. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/stats.py +0 -0
  47. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/trainers.py +0 -0
  48. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/trend.py +0 -0
  49. {geocif-0.1.73 → geocif-0.1.76}/geocif/ml/xai.py +0 -0
  50. {geocif-0.1.73 → geocif-0.1.76}/geocif/mm.py +0 -0
  51. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/__init__.py +0 -0
  52. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/area.py +0 -0
  53. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/automl.py +0 -0
  54. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/download_esi.py +0 -0
  55. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/enso.py +0 -0
  56. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/eval.py +0 -0
  57. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/gamtest.py +0 -0
  58. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/gee_access.py +0 -0
  59. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/misc.py +0 -0
  60. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/play_xagg.py +0 -0
  61. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/reg.py +0 -0
  62. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/sustain.py +0 -0
  63. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/test_catboost.py +0 -0
  64. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/tmp.py +0 -0
  65. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/tmp2.py +0 -0
  66. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/tmp3.py +0 -0
  67. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/tmp4.py +0 -0
  68. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/tmp5.py +0 -0
  69. {geocif-0.1.73 → geocif-0.1.76}/geocif/playground/wolayita_maize_mask.py +0 -0
  70. {geocif-0.1.73 → geocif-0.1.76}/geocif/risk/__init__.py +0 -0
  71. {geocif-0.1.73 → geocif-0.1.76}/geocif/risk/impact_assessment.py +0 -0
  72. {geocif-0.1.73 → geocif-0.1.76}/geocif/utils.py +0 -0
  73. {geocif-0.1.73 → geocif-0.1.76}/geocif/viz/__init__.py +0 -0
  74. {geocif-0.1.73 → geocif-0.1.76}/geocif/viz/gt.py +0 -0
  75. {geocif-0.1.73 → geocif-0.1.76}/geocif/viz/plot.py +0 -0
  76. {geocif-0.1.73 → geocif-0.1.76}/geocif/viz/tmp.py +0 -0
  77. {geocif-0.1.73 → geocif-0.1.76}/geocif.egg-info/SOURCES.txt +0 -0
  78. {geocif-0.1.73 → geocif-0.1.76}/geocif.egg-info/dependency_links.txt +0 -0
  79. {geocif-0.1.73 → geocif-0.1.76}/geocif.egg-info/not-zip-safe +0 -0
  80. {geocif-0.1.73 → geocif-0.1.76}/geocif.egg-info/top_level.txt +0 -0
  81. {geocif-0.1.73 → geocif-0.1.76}/requirements.txt +0 -0
  82. {geocif-0.1.73 → geocif-0.1.76}/setup.cfg +0 -0
  83. {geocif-0.1.73 → geocif-0.1.76}/tests/test_geocif.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.1.73
3
+ Version: 0.1.76
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
@@ -464,7 +464,7 @@ class CEIs:
464
464
 
465
465
  extended_stages_list = []
466
466
  if self.method in ["phenological_stages", "fraction_season", "full_season"]:
467
- extended_stages_list = stages
467
+ extended_stages_list.append(stages)
468
468
  elif self.method in ["dekad_r", "biweekly_r", "monthly_r"]:
469
469
  # reverse stages
470
470
  stages = stages[::-1]
@@ -529,7 +529,7 @@ class CEIs:
529
529
  """
530
530
  if self.method in ["phenological_stages", "full_season"]:
531
531
  col = "crop_cal"
532
- stages = df[col].unique()
532
+ stages = df[col].unique().astype(int)
533
533
  valid_stages = range(1, 4) if self.method == "phenological_stages" else None
534
534
  elif self.method == "fraction_season":
535
535
  col = "fraction_season"
@@ -165,7 +165,7 @@ class cei_runner(base.BaseGeo):
165
165
  combinations = [
166
166
  i
167
167
  for i in combinations
168
- if "ukraine_maize" in i[3]
168
+ # if "ukraine_maize" in i[3]
169
169
  # or "lesotho_maize" in i[3] or
170
170
  # # "namibia_" in i[2] or
171
171
  # "united_republic_of_tanzania_maize" in i[3]
@@ -208,7 +208,7 @@ def run(path_config_files=[]):
208
208
  indices.validate_index_definitions()
209
209
 
210
210
  for method in [
211
- "monthly_r", # "dekad_r" # "dekad_r"
211
+ "phenological_stages", # "dekad_r" # "dekad_r"
212
212
  ]: # , "full_season", "phenological_stages", "fraction_season"]:
213
213
  obj = cei_runner(path_config_files)
214
214
  obj.main(method)
@@ -3,6 +3,24 @@ import pandas as pd
3
3
  import matplotlib.pyplot as plt
4
4
  import matplotlib as mpl
5
5
 
6
+
7
+ import pandas as pd
8
+
9
+ # Step 1: Read the CSV file
10
+ input_file_path = r"C:\Users\ritvik\Downloads\observed_adjusted_detrended_woreda_yield (1).csv"
11
+ df = pd.read_csv(input_file_path)
12
+
13
+ # Step 2: Remove rows that are completely empty (all columns are NaN)
14
+ df_cleaned = df.dropna(how='all')
15
+
16
+ # Step 3: Write the cleaned data back to a new CSV file
17
+ output_file_path = r"C:\Users\ritvik\Downloads\observed_adjusted_detrended_woreda_yield_cleaned.csv"
18
+ df_cleaned.to_csv(output_file_path, index=False)
19
+
20
+ # (Optional) Look at the first few rows of the cleaned DataFrame
21
+ df_cleaned.head()
22
+
23
+ breakpoint()
6
24
  # --- 1. Read data ---
7
25
  dg = gpd.read_file(r"D:\Users\ritvik\projects\GEOGLAM\safrica.shp")
8
26
  df = pd.read_csv(r"D:\Users\ritvik\projects\GEOGLAM\geocif_march_2025.csv")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geocif
3
- Version: 0.1.73
3
+ Version: 0.1.76
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
@@ -50,6 +50,6 @@ setup(
50
50
  test_suite="tests",
51
51
  tests_require=test_requirements,
52
52
  url="https://ritviksahajpal.github.io/yield_forecasting/",
53
- version="0.1.73",
53
+ version="0.1.76",
54
54
  zip_safe=False,
55
55
  )
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