Пишите в csv столбцы, исходя из количества сгенерированных столбцов - PullRequest
0 голосов
/ 24 мая 2018

У меня есть следующие данные:

sv_m1   rev     ioip    are
0       15.31   40      NJ
0       64.9    0       CX
0       18.36   20      FP
0       62.85   0       CX
0       10.31   20      NJ
0       12.84   10      CX
0       69.95   0       FP
0       32.81   20      BS

У меня есть вышеуказанные данные в формате CSV, из которого я читаю по одному столбцу за раз и выполняю некоторую обработку.Затем я хочу написать в CSV, каждый столбец за один раз.Так что сначала будет написано sv_m1, затем rev и ioip.Так как переменная является категориальной, она будет преобразована в пустышки, и 4 столбца будут записаны в CSV за один раз.Как можно понять, количество столбцов во время каждой записи может варьироваться в зависимости от того, является ли она числовой или категориальной переменной.

Ниже приведен мой код:

for column in cols_list:   
        df_column = pd.read_csv('df_sample.csv', usecols=[column])
        #### Data processing##########
        if (attribute_dict[column] == 'CAT'): # attribute_dict contains mapping of column name and type                    
            df_target = pd.get_dummies(df_column[column], dummy_na=True, prefix=column)
            for target_column in list(df_target.columns):
                df_final[target_column] = df_target[[target_column]]

        else (attribute_dict[column] == 'NUM'):
            df_target = df_column
            df_target.fillna(value=0,inplace=True)
            df_final[column] = df_target

        # Write into csv for each column.
        with open('df_final.csv', 'w', newline='') as csvfile:
            writer = csv.writer(csvfile, delimiter=',')
            /* Not sure what to do here */

Может кто-нибудь, пожалуйста, направьте меняпо этому поводу?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...