Вот панды Dataframe определяется следующим образом:Как сделать некоторые операции, такие как groupby() и value_counts() в пандах?
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three', 'two'],
'C' : [0, 1, 0, 1, 1, 2, 0, 2, 1]})
>>> df
A B C
0 foo one 0
1 bar one 1
2 foo two 0
3 bar three 1
4 foo two 1
5 bar two 2
6 foo one 0
7 foo three 2
8 foo two 1
Я хочу сделать две операции.
Сначала группируйте Dataframe по столбцам A
и B
. Таким образом, в этом случае получается 6 групп. Эта операция аналогична функции groupby() в пандах.
Затем для каждой группы выполните операцию подсчета для столбца C
, поскольку в этом случае это могут быть три разных значения (0, 1 и 2). Эта операция аналогична функции value_counts() в pandas.
Наконец, я хочу новый Dataframe, как это.
A B C_value0 C_value1 C_value2
0 foo one 2 0 0
1 foo two 1 2 0
2 foo three 0 0 1
3 bar one 0 1 0
4 bar two 0 0 1
5 bar three 0 1 0
Может ли кто-нибудь сказать мне, как этого достичь? Благодаря!
Отличное решение! Большое спасибо! – o0Helloworld0o
Рад может вам помочь. Пожалуйста, не забудьте [принять] (http://meta.stackexchange.com/a/5235/295067). Благодарю. – jezrael
Когда я запускаю код, выдается сообщение об ошибке. Ошибка сказала: «TypeError: должен передать индекс для переименования». Затем я удаляю «.rename_axis (None, axis = 1)», и он может успешно работать. – o0Helloworld0o