У меня есть большой кадр данных с несколькими тысячами строк и несколькими сотнями столбцов. Каждая строка - это дата, и в каждом столбце у меня есть данные для этой даты. я буду делать меньший пример:Процентное ранжирование в кадре данных. Pandas
DATE A B C
2012 73,5 27,2 19
2013 19,5 22,2 33
2014 33 40 19,56
Я хочу, чтобы получить процентиль рейтинга для всех столбцов для заданной даты. Таким образом, каждый столбец будет иметь значение процентиля вместо его номера, где 95 процентиль означает, что значение находилось в верхних 5%. Например, в 2012 году будет иметь самый высокий рейтинг процентиль, но это было бы только где-то в середине в 2014 Я предполагаю там должен быть простой функцией, как pandas.percentile
или pandas.rank
По какой-то причине я получаю ValueError из-за различной формы операндов. У меня есть 673 строки и 75 столбцов – AK9309
Я думаю, что мне просто нужно настроить цикл, который будет брать каждую строку из фреймворка данных, и делить каждую запись на максимум этой строки. – AK9309
. Аргументы оси max и div являются критическими , Также это будет работать только для числовых столбцов. Я думаю, что max отбросит остальных, следовательно, ValueError. Вы можете [select_dtypes] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.select_dtypes.html) перед выполнением max/div. –