백분율 값을 나타내는 새로운 열을 만들기 위해 선택 데이터 프레임 열의 값을 순환하지 않습니다. 재현 가능한 예 :팬다 : 백분율 값의 수많은 열을 계산하십시오.
data = {'Respondents': [90, 43, 89, '89', '67', '88', '73', '78', '62', '101'],
'answer_1': [51, 15, 15, 61, 16, 14, 15, 1, 0, 16],
'answer_2': [11, 12, 14, 40, 36, 78, 12, 0, 26, 78],
'answer_3': [3, 8, 4, 0, 2, 7, 10, 11, 6, 7]}
df = pd.DataFrame(data)
df
Respondents answer_1 answer_2 answer_3
0 90 51 11 3
1 43 15 12 8
2 89 15 14 4
3 89 61 35 0
4 67 16 36 2
5 88 14 78 7
6 73 15 12 10
7 78 1 0 11
8 62 0 26 6
9 101 16 78 7
목표는 전체 응답자에 대한 각 대답 열의 백분율을 계산하는 것입니다. 예를 들어 새로운 answer_1
열의 경우 - answer_1_perc
으로 지정하고 첫 번째 값은 46입니다 (51은 46의 90이기 때문에). 다음 값은 35입니다 (15는 43의 35 % 임). 그런 다음 answer_2_perc
및 answer_3_perc
열이 있습니다.
다음 코드를 너무 많이 반복하여 작성했습니다.
for columns in df.iloc[:, 1:4]:
for i in columns:
i_name = 'percentage_' + str(columns)
i_group = ([i]/df['Respondents'] * 100)
df[i_name] = i_group
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 내 실제 데이터가이 예제에 표시된 3 개의 응답 열 대신 25 개의 응답 열을 가지므로 반복적 인 방법을 사용해야합니다.