Создание списка из определенного столбца в фрейме данных в Python - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть следующий адрес набора данных 'https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/Visualization/Online_Retail/Online_Retail.csv'

Я использовал следующий код для импорта

online_rt = pd.read_csv('https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/07_Visualization/Online_Retail/Online_Retail.csv', delimiter = ',')
online_rt.head()

и этот код для фильтрации некоторых определенных точек данных

Quantity_sum = online_rt.groupby(['Country'])[['Quantity']].sum().sort_values('Quantity', ascending=False)

Top_10 = Quantity_sum.iloc[1:11,:] 

Теперь я хочу преобразовать столбец Страна в отдельный список, а столбец Количество - в отдельный список.

Я использовал

Top_10['Country'].tolist() для одного столбца

и

Top_10['Quantity'].tolist() для другого столбца

, но он продолжает давать мне KeyError:

'Country' для 1-го списка и KeyError: 'Количество'для второго списка

Как я могу сделать два отдельных списка для моих данных ??

1 Ответ

0 голосов
/ 16 сентября 2018

После groupby результирующий фрейм данных Quantity_sum имеет только один столбец: Quantity, тогда как столбец Country является индексом.

In [66]: Quantity_sum.head()
Out[66]:
                Quantity
Country
United Kingdom   4263829
Netherlands       200128
EIRE              142637
Germany           117448
France            110480

Для получения списка странвам нужно получить к нему доступ через атрибут index кадра данных, например:

In [67]: Top_10.index.tolist()
Out[67]:
['Netherlands',
 'EIRE',
 'Germany',
 'France',
 'Australia',
 'Sweden',
 'Switzerland',
 'Spain',
 'Japan',
 'Belgium']

А для Quantity то, что вы сделали, кажется правильным и работает для меня:

In [68]: Top_10['Quantity'].tolist()
Out[68]: [200128, 142637, 117448, 110480, 83653, 35637, 30325, 26824, 25218, 23152]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...