Я работаю с опросом относительно дохода.У меня есть такие данные:
form Survey1 Survey2 Country
0 1 1 1 1
1 2 1 2 5
2 3 2 2 4
3 4 2 1 1
4 5 2 2 4
Я хочу сгруппировать по ответу и по стране.Например, давайте подумаем, что Опрос2 относится к числу автомобилей респондента, я хочу знать количество людей, которым принадлежит одна машина в определенной стране.
Ожидаемый результат будет следующим:
Country Survey1_1 Survey1_2 Survey2_1 Survey2_2
0 1 1 1 2 0
1 4 0 2 0 2
2 5 1 0 0 1
Здесь я добавил '_ #', где # - это ответ на счет.
До сих пор я создавал код для поиска разных ответов для каждого столбца и подсчитывал ответы.отвечая, скажем, 1, но я не нашел способ подсчета ответов для конкретной страны.
number_unic = df.head().iloc[:,j+ci].nunique() # count unique answers
val_unic = list(df.iloc[:,column].unique()) # unique answers
for i in range(len(vals_unic)):
names = str(df.columns[j+ci]+'_' + str(vals[i])) #names of columns
count = (df.iloc[:,j+ci]==vals[i]).sum() #here I count the values that are equal to an unique answer
df.insert(len(df.columns.values),names, count) # to insert new columns