Итерация по индексным группам в python - PullRequest
0 голосов
/ 09 октября 2018

Мне нужно отправить данные VIN на API в группах.VIN сгруппированы по первым трем буквам, которые называются wmi.wmi - индекс фреймов данных.Я проверяю это на ходу и не могу получить только VIN для печати при попытке вызова по группам.Приведенный ниже код является самым близким, который я получил после нескольких часов работы, просто пытаясь заставить VIN-коды только печатать.

В моем реальном коде мне нужно получить группы по WMI и отправить эти VIN-коды только вапи;затем перетащите следующую группу и отправьте VIN только в API.Мой цикл где-то неверен.

#Stack exchange 

import pandas as pd
#develop the data
df = pd.DataFrame(columns = ["vin"], data = ['LHJLC79U58B001633','SZC84294845693987','LFGTCKPA665700387','L8YTCKPV49Y010001',
                                             'LJ4TCBPV27Y010217','LFGTCKPM481006270','LFGTCKPM581004253','LTBPN8J00DC003107',
                                             '1A9LPEER3FC596536','1A9LREAR5FC596814','1A9LKEER2GC596611','1A9L0EAH9C596099',
                                             '22A000018'])
df['wmi'] = df['vin'].str[0:3]
df.set_index('wmi', inplace = True)

for name, group in df.groupby('wmi'):
    df1 = pd.DataFrame()
    for i in group:
        i = group.vin
        print(i)

1 Ответ

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

А как насчет apply для сгруппированных данных?

def do_something(df):
    print(df)

df = pd.DataFrame(columns = ["vin"], data = ['LHJLC79U58B001633','SZC84294845693987',
                                         'LFGTCKPA665700387','L8YTCKPV49Y010001',
                                         'LJ4TCBPV27Y010217','LFGTCKPM481006270',
                                         'LFGTCKPM581004253','LTBPN8J00DC003107',
                                         '1A9LPEER3FC596536','1A9LREAR5FC596814',
                                         '1A9LKEER2GC596611','1A9L0EAH9C596099',
                                         '22A000018'])
df['wmi'] = df['vin'].str[0:3]
df.groupby('wmi').apply(do_something)

OUT:

                  vin  wmi
8   1A9LPEER3FC596536  1A9
9   1A9LREAR5FC596814  1A9
10  1A9LKEER2GC596611  1A9
11   1A9L0EAH9C596099  1A9
                  vin  wmi
8   1A9LPEER3FC596536  1A9
9   1A9LREAR5FC596814  1A9
10  1A9LKEER2GC596611  1A9
11   1A9L0EAH9C596099  1A9
          vin  wmi
12  22A000018  22A
                 vin  wmi
3  L8YTCKPV49Y010001  L8Y
                 vin  wmi
2  LFGTCKPA665700387  LFG
5  LFGTCKPM481006270  LFG
6  LFGTCKPM581004253  LFG
                 vin  wmi
0  LHJLC79U58B001633  LHJ
                 vin  wmi
4  LJ4TCBPV27Y010217  LJ4
                 vin  wmi
7  LTBPN8J00DC003107  LTB
                 vin  wmi
1  SZC84294845693987  SZC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...