Как избежать использования iloc или жесткого кодирования панд с индексным номером для динамического извлечения строк из одного фрейма данных в несколько подмножеств? - PullRequest
0 голосов
/ 30 сентября 2018

Мой фрейм данных выглядит следующим образом

country1    state1  city1   District1
india   36  20  40
china   27  21  35
honkong 34  21  38
london  32  21  38
company technology  car brand   population
adf     java       Ford          40
ydfh    java      Hyundai        19
klyu    java      Nissan         47
hy6g    dotnet    Toyota         20
rghtr   dotnet    Hyundai        30
htryr   dotnet    hummer         12

Я хотел создать множественное подмножество из одного фрейма данных, я не хотел использовать индексный номер или функцию iloc или жестко кодировать индексный номер, потому что он отфильтровываетвсякий раз, когда появляется новая запись, либо после въезда в Лондон, либо после последней записи

Если появляется какая-либо новая запись, ее также необходимо зафиксировать, какие-либо подсказки, как выступить в пандах или использовать numpy?надеюсь, что этот вопрос ясен

1 Ответ

0 голосов
/ 01 октября 2018

Предполагая, что ваш фрейм данных сохранен как df, вы можете использовать groupby и сохранить сгруппированные субданные в словарь для дальнейшего использования.

d = {}
for group, frame in df.groupby('country1'):
    d[group] = frame

Также, если вы хотите группировать столбцы с умножением, передайте список группам следующим образом

for group, frame in df.groupby(['country1', 'technology']):
    d[group] = frame
...