Ошибка с рейтингом Панды на колонках с использованием диктата

мы также можем использовать

(.*?\n)*?

для соответствия всем, включая новую строку без жадного

. Это сделает новую строку опцией

(.*?|\n)*?
0
задан Research100 13 July 2018 в 19:23
поделиться

1 ответ

Я запустил этот код на своей машине, и он отлично работал, хотя я использую Anaconda 3.6.4 и Pandas 0.22.0. Возможно, это проблема с версией. Это правильный выход?

выход:

d = dict()
d ={'A': 'Health Care', 'AA': 'Materials', 'B': 'Health Care', 'BB': 'Materials'}
data = pd.DataFrame(np.random.rand(100,4), index=range(0,100), columns=d.keys() )
data.groupby(d , axis = "columns").rank(axis = "columns", pct=True)


A   AA  B   BB
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
0.5 0.5 1.0 1.0
0.5 0.5 1.0 1.0
0.5 1.0 1.0 0.5
1.0 0.5 0.5 1.0
1.0 1.0 0.5 0.5
0.5 1.0 1.0 0.5
0.5 0.5 1.0 1.0
1.0 1.0 0.5 0.5
0
ответ дан Andrew Fleischer 17 August 2018 в 12:12
поделиться
  • 1
    Да. Результат - это то, что я ищу. Я использую Pandas '0.23.0'. Я подозревал, что это проблема с версией. Любые предложения о том, как решить эту проблему, кроме понижения? – Research100 13 July 2018 в 19:30
  • 2
    Я бы попытался удалить pandas и переустановить определенную версию, если вы абсолютно не хотите решать эту проблему в коде, который у вас есть – Andrew Fleischer 13 July 2018 в 19:37
  • 3
    Я открыт для изменения кода. Просто я не знаю, как мне нужно сделать, чтобы исправить код. – Research100 13 July 2018 в 19:39
  • 4
    Ненавижу использовать For-Loops, но я думаю, что мне придется перебирать группы и использовать функцию .rank () для каждой итерации For-Loop. – Research100 16 July 2018 в 13:20
Другие вопросы по тегам:

Похожие вопросы: