#python #pandas
#python #pandas
Вопрос:
Я хочу немного упростить свой код, когда я заполняю фрейм данных Pandas, например, это отлично работает для автоматического увеличения строки:
results['Cluster'] = ['Cluster %s' %i for i in range(1, len(results) 1)]
Результат:
Кластер 1
Кластер 2
Кластер 3
и т. Д
Как я делаю тот же элегантный код, когда я ссылаюсь на другие значения фрейма данных, все, что мне нужно сделать, это увеличить cluster_X и total_c X, а затем ссылаться на каждое из них по отдельности…
results['Item per Population'] = [cluster_1.shape[0]/total_c1,cluster_2.shape[0]/total_c2,cluster_3.shape[0]/total_c3]
Спасибо.
Ответ №1:
хорошо, я понял это сам.
Сначала определите
кластеры = [кластер_1, кластер_2 … и т.д.)
totals_pop = [total_c1, total_c2 … и т.д.)
затем:
appended_data = []
for i, x in zip(clusters,totals_pop):
data = i.shape[0]/x
appended_data.append(data)
appended_data
results['Car Wash per Population'] = np.array(appended_data)
Вместо этого может быть более элегантный способ сделать это с помощью results.loc[…] .