处理数据部分必备代码

1、读取数据出现UTF-8错误

encoding="gbk"

2、进行时间系列的平均,并将平均后的数据转化为时间格式

data.index = pd.to_datetime(data.index)
data = data.groupby(data.index.to_period('H')).mean()
data.index = data.index.to_timestamp()
df['hour'] = df.index.hour #提取时间中的小时
df.query('hour >= 9 and hour <= 12') # 选择小时范围在9到12小时内的数据

3、将不同的datafram合并

pd.concat([df1,df2,df3],axis = 1)
#axis=1按列,axis=0按行

4、补全时间

t_index = pd.date_range('2022-02-01 00:00:00', '2022-02-28 23:55:00', freq='5T')
df.index = pd.to_datetime(df.index, format='%Y-%m-%d %H:%M:%S')
df = df.reindex(t_index)

5、删除缺失值

data.dropna(axis=0,how='all') #只删除行中所有为Nan值的行
data.dropna(axis=0,how='any')  # 删除行中有含有任何NaN的行
# axis控制行(0)和列(1)

6、挑选奇数列或者偶数列

#保留奇数行,删除偶数行
df=df.iloc[:,[i%2==0 for i in range(len(df.columns))]]
#保留偶数行,删除奇数行
df=df.iloc[:,[i%2==1 for i in range(len(df.columns))]]

7、挑选奇数行或者偶数行

#生成列表实现筛选,保留奇数行,删除偶数行
df=df[[i%2==0 for i in range(len(df.index))]]
#保留偶数行,删除奇数行
df=df[[i%2==1 for i in range(len(df.index))]]
#index是数字时
#保留奇数行,删除偶数行
df=df[df.index%2==0]
# 保留偶数行,删除奇数行
df=df[df.index%2==1]

你可能感兴趣的:(python)