Here's the relevant bit:
<p-column field="Col1" header="Column 1" [sortable]="true" [style]="{'width': '200px'}">
<template let-data="rowData" let-ri="rowIndex" pTemplate="body">
<span *ngIf="ri !== 0">{{ data['Col1'] }}</span> <input type="text" *ngIf="ri === 0">
</template>
</p-column>
The important part is that let-ri="rowIndex" where you give your template the rowIndex.
Disclaimer though, I don'tuse PrimeNG but I was curious so went and looked it up.