у меня есть одна переменная в питона (значение может изменяться)Как генерировать динамические имена переменных в панд dataframe
a = 6
Теперь, в зависимости от значений, которые я должен генерировать 6 кластеров из K-means clustering
, который дает мне следующие метки в массив
y_km
Out[36]: array([2, 5, 5, 2, 5, 0, 0, 1, 1, 4, 3, 4, 1, 0, 2, 2])
cluster_0 = np.where(y_km == 0)
cluster_1 = np.where(y_km == 1)
cluster_2 = np.where(y_km == 2)
cluster_3 = np.where(y_km == 3)
cluster_4 = np.where(y_km == 4)
cluster_5 = np.where(y_km == 5)
Затем я сохраняю местоположение каждой метки в массиве для разных переменных. Я хочу, чтобы автоматизировать этот процесс, так что я не должен явно писать код для имен переменных (cluster_0,cluster_1,cluster_2...)
for i in range(a):
cluster_'%d'%i = np.where(y_km == i)
я делаю выше, но это дает мне синтаксическую ошибку. Тогда я определяю один столбец в dataframe tsp_data_unique
tsp_data_unique['Clusters'] = 'Null'
Тогда я делаю следующее, чтобы назначить соответствующие кластерные метки в dataframe.
tsp_data_unique['Clusters'].iloc[cluster_0] = 'Cluster 1'
tsp_data_unique['Clusters'].iloc[cluster_1] = 'Cluster 2'
tsp_data_unique['Clusters'].iloc[cluster_2] = 'Cluster 3'
tsp_data_unique['Clusters'].iloc[cluster_3] = 'Cluster 4'
tsp_data_unique['Clusters'].iloc[cluster_4] = 'Cluster 5'
tsp_data_unique['Clusters'].iloc[cluster_5] = 'Cluster 6'
Могу ли я автоматизировать вышеуказанный процесс.
спасибо за ваш ответ. Я отредактировал вопрос. – Neil
Могу ли я генерировать строки «Cluster 1, Cluster 2 ...» динамически в зависимости от значения переменной 'a' – Neil
Я делаю так:' tsp_data_unique ['Clusters']. Iloc ['cluster _ {}'. Format (i)] = 'Cluster {}'. format (i + 1) ', но он дает мне значение ValueError: может индексировать только по местоположению с целым, целым фрагментом (точка START ВКЛЮЧЕНА, конечная точка EXCLUDED), listlike of integers, boolean array] ' – Neil