Pandas处理数据遇到的问题与解决
set_index与reindex的区别
- set_index能够将DataFrame中的某一column设置为索引
- reindex的作用是根据new_index重新排列DataFrame
- 如果新的new_index中含有原index未含有的索引,则对应的行的值全部是Nan,当然,可以选择在reindex( )传入method参数来解决这一点,例如:method=‘ffill’
读入DataFrame时的数据类型问题
问题描述
在通过pd.read_csv( )方法读入csv数据时,如果未指定data_type,那么该方法会按照默认设置读入数据,有时候会将string字符串形式保存的数字读成float或者int的数据类型。
例如,我的trade_date是以字符串形式保存的,但是读入的时候默认变成了整数形,从而导致我按照字符串的index来reindex时,整个DataFrame的数据全部变为了Nan
解决方法
在读入数据的时候,通过pd.read_csv( )设置参数 dtype={‘trade_date’ : ‘string’},就可以了;当然,如果要以数值的形式读入,设置 dtype={‘trade_date’ : ‘value’},更改之后效果如下: