Поворотный питон - PullRequest
       14

Поворотный питон

0 голосов
/ 04 декабря 2018

Быстрый вопрос:

У меня следующая ситуация (таблица): Импортированный фрейм данных

Теперь я хотел бы добиться следующего (или чего-то вэти строки, это не обязательно должно быть именно так)

Цель

Мне не нужны следующие столбцы, поэтому я отбрасываю их

data.drop(data.columns[[0,5,6]], axis=1,inplace=True)

Я предположил, что следующая строка кода может решить эту проблему, но я что-то упустил?

pivoted = data.pivot(index=["Intentional homicides and other crimes","Unnamed: 2"],columns='Unnamed: 3', values='Unnamed: 4')

производит

ValueError: Длина переданных значений равна 3395, индекс подразумевает 2

Отличие от вопроса 8 состоит в том, что я не хочу никаких функций агрегирования, просто оставляю значения как есть.

Данные можно найти по адресу: Данные

1 Ответ

0 голосов
/ 04 декабря 2018

Проблема с методом pandas.DataFrame.pivot заключается в том, что он не обрабатывает повторяющиеся значения в индексе.Один из способов решить эту проблему - использовать функцию pandas.pivot_table .

df = pd.read_csv('Crimes_UN_data.csv', skiprows=[0], encoding='latin1')
cols = list(df.columns)
cols[1] = 'Region'
df.columns = cols
pivoted = pd.pivot_table(df, values='Value', index=['Region', 'Year'], columns='Series', aggfunc=sum)

Она не должна ничего суммировать, несмотря на аргумент aggfunc , но она былаthrowing pandas.core.base.DataError: Нет числовых типов для агрегирования , если аргумент не был предоставлен.

...