Как поменять название столбцов в dataframe

Есть dataframe post_count мне нужно вывести у каких пользователей сколько постов в формате: %UserID% - %Количество постов%; Но почему-то у получившейся таблицы я не могу переименовать столбцы ни методом rename ни методом columns

import pandas
import requests

info = requests.get("https://jsonplaceholder.typicode.com/posts")

info_table = pandas.DataFrame(info.json())
post_count = info_table['userId'].value_counts()

Ответы (3 шт):

Автор решения: strawdog

во-первых, value_counts() возвращает Series, а не DataFrame, поэтому вы не можете переименовать там "столбцы".
во-вторых, вам нужно не value_counts(), а группировка с подсчетом:

post_count = info_table.groupby('userId', as_index=False)['title'].count().rename(columns={"title": "Количество постов"})

post_count:

   userId  Количество постов
0       1                 10
1       2                 10
2       3                 10
3       4                 10
4       5                 10
5       6                 10
6       7                 10
7       8                 10
8       9                 10
9      10                 10
→ Ссылка
Автор решения: Алексей Р

Метод .rename() на Series работает немного по-другому, чем на DF, но работает. К вашему решению нужно просто добавить еще два метода - Series.rename() и Series.reset_index(). Первый, чтобы переименовать серию, а второй чтобы преобразовать серию во фрейм, одновременно перенеся индекс в столбец userId и название серии в заголовок столбца Количество постов.

post_count = info_table['userId'].value_counts().rename("Количество постов").reset_index()
   userId  Количество постов
0       1                 10
1       2                 10
2       3                 10
3       4                 10
4       5                 10
5       6                 10
6       7                 10
7       8                 10
8       9                 10
9      10                 10
→ Ссылка
Автор решения: CrazyElf

Более короткий способ получить тоже самое. Без rename и без использования requests:

import pandas as pd

df = (pd
    .read_json("https://jsonplaceholder.typicode.com/posts")
    .value_counts('userId')
    .to_frame("Количество постов")
    .reset_index())
→ Ссылка