最近在处理机器学习时,发现相较于模型训练,更多的是处理数据特征,数据合成在不增加信息量的情况下增加了信息质量,可能更适用机器学习训练。
一、常用的数据处理其实都是以下两个需求的变形(实在不行手动计算)
1、滑动计算
# 方式1:
data['pre'] = data['now'].shift(1)
data['pre'] = data['now'].shift(-1)
# shift(1)表示向下滑动
# 得到的数据第一个为nan,后面为每行向下滑动(第一行数据滑动至第二行,以此类推)
data['pre'] = data['now'].rolling(100).sum()
# 每个向前计算累加(也可以mean、max等)
2、删除none值(numpy也有相同调用方法)
data.dropna(inplace=True)
二、将数值数据变为二分类数据
for i in data['per']:
if abs(i) > 1:
a = 0
else:
a = 1
data0.append(a)
三、GROUP BUY 处理分组相加问题
data.groupby('id')
四、pandas丢弃最后一行
df1 = df.drop(index=218591)
# 这里的行数是自己设置的,可以len一下获取