根据生成的列数从数据帧中明确写入csv列

时间:2018-05-24 09:20:36

标签: python pandas csv

我有以下数据:

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。由于are是一个分类变量,它将被转换为虚拟变量并将写入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 */

有人可以指导我吗?

非常感谢!

0 个答案:

没有答案