I am just beginning to get into data science and have never posted here before, apologies if this question is worded incorrectly! I am curious if there is an unsupervised machine learning algorithm that can take data with more than 2 dimensions and cluster the data similar to how k-means clustering works with 2 dimensions. Ultimately, I would like to take financial data (e.g. P/E, operating margin, earnings growth) and divide different stocks into groups (e.g. growth stocks vs. value stocks).
I have tried googling to see if k-means clustering would work with a dataset that has more than just X and Y values but couldn't find anything super helpful. Also, I thought about using k-nearest neighbor but I don't have a large amount of "training" data so I think an unsupervised algorithm would work the best. Any and all help is greatly appreciated!