Pandas过滤、合并、移动、获取、删除CSV文件的列内容

1. csv文件内容如下:

Pandas过滤、合并、移动、获取、删除CSV文件的列内容_第1张图片

2.使用相对路径读取csv文件

tick = pd.DataFrame(pd.read_csv(os.path.join(BASE_DIR, 'CsvFile/tick.SGE.csv'),
                                 keep_default_na=False,
                                 encoding='utf-8'
                                 ))

3. 根据日期和时间规则、获取相同数据的最后一条,获得过滤后的csv文件内容

    以第2、3行数据为例,该方法执行后只会存在上图行号为3的数据,不会存在行号为2的数据 ,其他行类似

tick.drop_duplicates(['TradingDay', 'UpdateTime'], keep='last', inplace=True)

4. 过滤出指定日期范围内的数据:

tick_New = tick[(tick['TradingDay'].astype(int) >= int(firstDate)) & (tick['TradingDay'].astype(int) <= int(lastDate))]

  firstDate和lastDate都是20190101这样的格式,按需修改

 

5.  合并列和删除列,将TradingDay和UpdateTime合并,并放置到TradingDay列中,删除原有的UpdateTime列

#合并列
tick_New ['TradingDay'] = list(tick_New['TradingDay'].map(str) + " " + tick_New['UpdateTime'].map(str))

#删除列
tick_New.pop('UpdateTime')

6. 移动列的位置(列的下标从0开始),下面将Volume移动到第二列,这里使用移除添加的方式,性能暂不考虑

 pd_temp = tick_New.pop('Volume')
 tick_New.insert(2, 'Volume', dp_temp)

7. 将pd转为数组

tick_New.values.tolist()

 

你可能感兴趣的:(pandas)