Pandas Data Processing
When to Use This Skill
Use Pandas data processing when you need:
- Time series analysis - Wave elevation, vessel motions, mooring tensions
- OrcaFlex results - Load simulation results, process RAOs, analyze dynamics
- Multi-format data - CSV, Excel, HDF5, Parquet for large datasets
- Statistical analysis - Summary statistics, rolling windows, resampling
- Data transformation - Pivot, melt, merge, group operations
- Engineering reports - Automated data extraction and summary generation
Avoid when:
- Real-time streaming data (use Polars or streaming libraries)
- Extremely large datasets (>100GB) - use Dask, Vaex, or PySpark
- Pure numerical computation (use NumPy directly)
- Graph/network data (use NetworkX)
Complete Examples
Example 1: OrcaFlex Results Processing
import pandas as pd
import numpy as np
from pathlib import Path
import plotly.graph_objects as go
def process_orcaflex_results(
results_dir: Path,
output_dir: Path
) -> dict:
*See sub-skills for full details.*
### Example 2: Wave Scatter Diagram Analysis
```python
def process_wave_scatter_diagram(
scatter_csv: Path,
output_dir: Path
) -> pd.DataFrame:
"""
Process wave scatter diagram and calculate occurrence frequencies.
Args:
scatter_csv: Path to wave scatter CSV
*See sub-skills for full details.*
### Example 3: Fatigue Damage Calculation
```python
def calculate_fatigue_damage(
stress_ranges: pd.DataFrame,
sn_curve: dict,
design_life_years: float = 25
) -> pd.DataFrame:
"""
Calculate fatigue damage using stress range histogram.
Args:
*See sub-skills for full details.*
### Example 4: Multi-Source Data Merging
```python
def merge_analysis_results(
motion_file: Path,
tension_file: Path,
environmental_file: Path,
output_file: Path
) -> pd.DataFrame:
"""
Merge results from multiple analysis sources.
*See sub-skills for full details.*
### Example 5: Performance Benchmarking
```python
def benchmark_data_processing_methods(
data_size: int = 1_000_000
) -> pd.DataFrame:
"""
Benchmark different Pandas operations for performance.
Args:
data_size: Number of rows to test
*See sub-skills for full details.*
## Resources
- **Pandas Documentation**: https://pandas.pydata.org/docs/
- **Pandas Cheat Sheet**: https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf
- **Time Series Analysis**: https://pandas.pydata.org/docs/user_guide/timeseries.html
- **GroupBy Operations**: https://pandas.pydata.org/docs/user_guide/groupby.html
- **Performance Tips**: https://pandas.pydata.org/docs/user_guide/enhancingperf.html
---
**Use this skill for all time series analysis and data processing in DigitalModel!**
## Sub-Skills
- [1. Time Series Analysis](1-time-series-analysis/SKILL.md)
- [2. Statistical Analysis](2-statistical-analysis/SKILL.md)
- [3. Data Transformation](3-data-transformation/SKILL.md)
- [4. Multi-File Processing](4-multi-file-processing/SKILL.md)
- [5. GroupBy Operations](5-groupby-operations/SKILL.md)
- [1. Memory Efficiency (+3)](1-memory-efficiency/SKILL.md)
1---2name: pandas-data-processing3description: Pandas for time series analysis, OrcaFlex results processing, and marine engineering data workflows4---56# Pandas Data Processing78## When to Use This Skill910Use Pandas data processing when you need:11- **Time series analysis** - Wave elevation, vessel motions, mooring tensions12- **OrcaFlex results** - Load simulation results, process RAOs, analyze dynamics13- **Multi-format data** - CSV, Excel, HDF5, Parquet for large datasets14- **Statistical analysis** - Summary statistics, rolling windows, resampling15- **Data transformation** - Pivot, melt, merge, group operations16- **Engineering reports** - Automated data extraction and summary generation1718**Avoid when:**19- Real-time streaming data (use Polars or streaming libraries)20- Extremely large datasets (>100GB) - use Dask, Vaex, or PySpark21- Pure numerical computation (use NumPy directly)22- Graph/network data (use NetworkX)2324## Complete Examples2526### Example 1: OrcaFlex Results Processing2728```python29import pandas as pd30import numpy as np31from pathlib import Path32import plotly.graph_objects as go3334def process_orcaflex_results(35 results_dir: Path,36 output_dir: Path37) -> dict:3839*See sub-skills for full details.*40### Example 2: Wave Scatter Diagram Analysis4142```python43def process_wave_scatter_diagram(44 scatter_csv: Path,45 output_dir: Path46) -> pd.DataFrame:47 """48 Process wave scatter diagram and calculate occurrence frequencies.4950 Args:51 scatter_csv: Path to wave scatter CSV5253*See sub-skills for full details.*54### Example 3: Fatigue Damage Calculation5556```python57def calculate_fatigue_damage(58 stress_ranges: pd.DataFrame,59 sn_curve: dict,60 design_life_years: float = 2561) -> pd.DataFrame:62 """63 Calculate fatigue damage using stress range histogram.6465 Args:6667*See sub-skills for full details.*68### Example 4: Multi-Source Data Merging6970```python71def merge_analysis_results(72 motion_file: Path,73 tension_file: Path,74 environmental_file: Path,75 output_file: Path76) -> pd.DataFrame:77 """78 Merge results from multiple analysis sources.798081*See sub-skills for full details.*82### Example 5: Performance Benchmarking8384```python85def benchmark_data_processing_methods(86 data_size: int = 1_000_00087) -> pd.DataFrame:88 """89 Benchmark different Pandas operations for performance.9091 Args:92 data_size: Number of rows to test939495*See sub-skills for full details.*9697## Resources9899- **Pandas Documentation**: https://pandas.pydata.org/docs/100- **Pandas Cheat Sheet**: https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf101- **Time Series Analysis**: https://pandas.pydata.org/docs/user_guide/timeseries.html102- **GroupBy Operations**: https://pandas.pydata.org/docs/user_guide/groupby.html103- **Performance Tips**: https://pandas.pydata.org/docs/user_guide/enhancingperf.html104105---106107**Use this skill for all time series analysis and data processing in DigitalModel!**108109## Sub-Skills110111- [1. Time Series Analysis](1-time-series-analysis/SKILL.md)112- [2. Statistical Analysis](2-statistical-analysis/SKILL.md)113- [3. Data Transformation](3-data-transformation/SKILL.md)114- [4. Multi-File Processing](4-multi-file-processing/SKILL.md)115- [5. GroupBy Operations](5-groupby-operations/SKILL.md)116- [1. Memory Efficiency (+3)](1-memory-efficiency/SKILL.md)