Hello @Justin McQueen,
As the question is asked in Eikon Data API, I would approach the answer from what DAPI makes available. It's a data set, Eikon content, the retrieval is described in Eikon Data API for Python - Reference Guide.
Once the required data, consisting of data set or multiple data sets is retrieved, the data sets can optionally be combined, formatted, presented, analyzed, visualized. These important steps, in my understanding, are outside of Eikon Data API functionality.
By running a quick search on "PCA in Python", I can find useful materials from different sources on how to approach using PCA in Python in general, for example here.
In my understanding, the task such as designing an index, is fairly complex, driven by specific requirements, and in my understanding, more of a custom project, with requirement and scope definition, design, approval, implementation, delivery, then a concise applicable answer.
Having said this, there is an example, that I think can be of some relevance and interest, given your requirement. In Eikon/Refinitiv Workspace, run "Codebook", and go into Example -> 03 - Modeling Sand Box -> see and run pca_yield_curve.ipynb example.
Hope this helps