Dask DataFrame после Apply не может переиндексировать с дублированной оси

void createFolders(const std::string &s, char delim) {
    std::stringstream ss(s);
    std::string item;
    char combinedName[50]={'\0'};
    while (std::getline(ss, item, delim)) { 
        sprintf(combinedName,"%s%s%c",combinedName,item.c_str(),delim);
        cout<<combinedName<<endl;

        struct stat st = {0};
                 if (stat(combinedName,&st)==-1)
                 { 
            #if REDHAT
                     mkdir(combinedName,0777);
            #else
                      CreateDirectory(combinedName,NULL);
            #endif
                 }


     }
}
0
задан mj1261829 1 March 2019 в 17:54
поделиться

1 ответ

Я нашел решение проблемы. Вместо этого можно использовать Fillna вместе с картой:

all_data['item_price'] = all_data['item_price'].fillna(
    all_data['item_id'].map(
        all_data.groupby('item_id')['item_price'].mean().compute()
    )
)

Это избавляет от проблемы дублирования осей. Помните, что вы должны использовать compute, как видно из кода внутри функции map, чтобы он работал без ошибок.

0
ответ дан mdurant 1 March 2019 в 17:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: