data = pd.read_csv(file_root, encoding='utf-8',usecols=columns,parse_dates=['date']) #参数 parse_dates=['date'] 是把列date设置为日期格式 #还可以加参数index_col="date" 这个是把列设置为索引,为什么不设置,是因为下面一行筛选需要一个 #值,不能用索引,否则会报错
return (data[(data['date']>=star_date) & (data['date']<=end_date)]) #筛选数据,date必须为普通行,如果设置成索引行可以用下面一行去掉索引
# data.reset_index(inplace=True)#去掉索引
data.set_index("date", inplace = True) #这行是设置date为索引行,inplace为True是在原来的数据表上面更改
data.dropna(axis=0, thresh=4,inplace=True) 删除含有Nan值的行,thresh是条件,意思是如果一行内有4个以上有数值的话就不删除这一行,如果少于4个就删除这一行。inplace为True是在原来的数据表上面更改。axis=0表示以行为单位,axis=1表示以列为单位。
df.fillna(0,inplace=True) 可以把pandas数据表里的Nan值全部替换成0
df2.reset_index(inplace=True)#去除原来的搜引 pd.to_datetime(df2['FSRQ'])#把FSRQ列设置为日期格式
df.at的用法
作用:获取某个位置的值,例如,获取第0行,第a列的值,即:index=0,columns='a'
data = df.at[0, 'a']
#合并多个pandas表格的数据 frames=[data2,data1]#先把两个把放在一个数据里,排前面的数据要放前面,可以放两个以上 data2=pd.concat(frames)