Я работаю с данными временных рядов, которые суммируют использование продукта пользователями (каждый пользователь - это столбец, а каждая дата - строка). Я пытаюсь обобщить процент пользователей, внедряющих этот продукт в свою жизнь, что требует, чтобы они использовали его в течение определенного количества времени каждый день.
date user1 user2 user3 user4
2017-06-23 120.000000 200.000000 20.000000 0.000000
2017-06-24 201.000000 195.000000 10.000000 0.000000
2017-06-25 267.333333 190.000000 56.666667 0.000000
2017-06-26 255.500000 142.500000 42.500000 0.000000
2017-06-27 269.200000 131.800000 45.600000 0.000000
2017-06-28 241.500000 138.333333 49.500000 0.000000
2017-06-29 224.000000 118.571429 61.000000 0.000000
Я пытаюсь подсчитать, сколько раз условие выполняется для каждой записи в строке, и создать новый столбец, который считает это и делится на общее количество пользователей * 100. Я пробовал:
df['Percent of Adoption'] = (df[df.columns > 50].count(axis=0)/len(df.columns))*100
Это приводит к следующей ошибке:
TypeError: '>' not supported between instances of 'str' and 'int'
Желаемый вывод:
date user1 user2 user3 user4//
2017-06-23 120.000000 200.000000 20.000000 0.000000
2017-06-24 201.000000 195.000000 10.000000 0.000000
2017-06-25 267.333333 190.000000 56.666667 0.000000
2017-06-26 255.500000 142.500000 42.500000 0.000000
2017-06-27 269.200000 131.800000 45.600000 0.000000
2017-06-28 241.500000 138.333333 49.500000 0.000000
2017-06-29 224.000000 118.571429 61.000000 0.000000
Percent of Adoption
50.0
50.0
75.0
50.0
50.0
50.0
75.0
Любая помощь будет высоко ценится. Спасибо!