как создать фрейм данных с пандами

У меня есть функция под названием getCount(df, score, процент), она принимает три параметра и возвращает количество человек, основанное на баллах и процентах.

Я хочу создать матрицу с процентами в качестве индекса и баллами в виде столбцов.

проценты = [0,1,0,2, 0,3, 0,4]
баллы = [1,2, 3, 4]

и я хочу, чтобы мой фрейм данных выглядел так:

    1  2  3  4  
0.1 45 34 21 10
0.2 14 5  10 5
0.3 34 21 15 9
0.4 54 23 78 21

так, например, по первому индексу 0,1 в первом столбце 1 45 человек.


person JuniorAngelo    schedule 29.10.2018    source источник
comment
Я не понимаю, откуда взялись значения?   -  person roganjosh    schedule 29.10.2018
comment
Проверьте pivot или, возможно, lookup   -  person BENY    schedule 29.10.2018
comment
поэтому значение исходит из моей функции getCount, поэтому getCount(mydf, 1, 0.1) становится 45, agian 45 - это просто фиктивные данные   -  person JuniorAngelo    schedule 29.10.2018
comment
Вместо того, чтобы извлекать данные из DF, затем подсчитывать их, а затем возвращать в df, можете ли вы просто использовать df1=mydf.groupby(['score', 'percentage']).count() или, как сказал @Wen, сводную точку, если формат не подходит для groupby?   -  person G. Anderson    schedule 29.10.2018


Ответы (1)


mydf = pd.DataFrame()
for percentage in percentages:
    for score in scores:
        mydf.set_value(percentage, score, getCount(data, score, percentage))

это может быть не лучший способ сделать это, но я понял, как это сделать с двумя циклами for

person JuniorAngelo    schedule 29.10.2018