需求:
现有一个 csv文件,包含'CNUM'和'COMPANY'两列,数据里包含空行,且有内容重复的行数据。
要求:
1)去掉空行;
2)重复行数据只保留一行有效数据;
3)修改'COMPANY'列的名称为'Company_New‘;
4)并在其后增加六列,分别为'C_col',‘D_col',‘E_col',‘F_col',‘G_col',‘H_col'。
一,使用 Python Pandas来处理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import pandas as pd import numpy as np from pandas import DataFrame,Series def deal_with_data(filepath,newpath): file_obj = open (filepath) df = pd.read_csv(file_obj) # 读取csv文件,创建 DataFrame df = df.reindex(columns = [ 'CNUM' , 'COMPANY' , 'C_col' , 'D_col' , 'E_col' , 'F_col' , 'G_col' , 'H_col' ],fill_value = None ) # 重新指定列索引 df.rename(columns = {
'COMPANY' : 'Company_New' }, inplace = True ) # 修改列名 df = df.dropna(axis = 0 ,how = 'all' ) # 去除 NAN 即文件中的空行 df[ 'CNUM' ] = df[ 'CNUM' ].astype( 'int32' ) # 将 CNUM 列的数据类型指定为 int32 df = df.drop_duplicates(subset = [ 'CNUM' , 'Company_New' ], keep = 'first' ) # 去除重复行 df.to_csv(newpath,index = False
|