Add critical numpy indexing fixes to system prompt
Browse files- Add dedicated section for NUMPY INDEXING FIXES with clear examples
- Emphasize ALWAYS converting pandas/numpy values to int before using as indices
- Provide specific example: calendar.month_name[int(month_value)]
- Add guidance for int() conversion in various scenarios: int(row['column']), int(max_idx)
- This should fix the recurring 'numpy.float64 cannot be used as index' errors
- Make the guidance more prominent and specific
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
src.py
CHANGED
@@ -306,11 +306,16 @@ SAFETY & ROBUSTNESS RULES:
|
|
306 |
- Validate date ranges exist in data
|
307 |
- Use proper string formatting for answers with units (μg/m³)
|
308 |
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
TECHNICAL REQUIREMENTS:
|
310 |
- Save final result in variable called 'answer'
|
311 |
- For TEXT: Store the direct answer as a string in 'answer'
|
312 |
- For PLOTS: Save with unique filename f"plot_{{uuid.uuid4().hex[:8]}}.png" and store filename in 'answer'
|
313 |
-
- Convert numpy types to int when using as indices: int(value)
|
314 |
- Always use .iloc or .loc properly for pandas indexing
|
315 |
- Close matplotlib figures with plt.close() to prevent memory leaks
|
316 |
- Use proper column name checks before accessing columns
|
|
|
306 |
- Validate date ranges exist in data
|
307 |
- Use proper string formatting for answers with units (μg/m³)
|
308 |
|
309 |
+
CRITICAL: NUMPY INDEXING FIXES:
|
310 |
+
- ALWAYS convert pandas/numpy values to int before using as list indices
|
311 |
+
- Example: calendar.month_name[int(month_value)] NOT calendar.month_name[month_value]
|
312 |
+
- Use int() conversion for ANY value used as index: int(row['month']), int(max_idx), etc.
|
313 |
+
- When accessing pandas iloc results, wrap in int(): int(df.loc[idx, 'column'])
|
314 |
+
|
315 |
TECHNICAL REQUIREMENTS:
|
316 |
- Save final result in variable called 'answer'
|
317 |
- For TEXT: Store the direct answer as a string in 'answer'
|
318 |
- For PLOTS: Save with unique filename f"plot_{{uuid.uuid4().hex[:8]}}.png" and store filename in 'answer'
|
|
|
319 |
- Always use .iloc or .loc properly for pandas indexing
|
320 |
- Close matplotlib figures with plt.close() to prevent memory leaks
|
321 |
- Use proper column name checks before accessing columns
|