数据处理代码Pandas:
from sklearn.preprocessing import MinMaxScaler
data = [[-1,2],
[-0.5,6],
[0.,10],
[1,18]]
# 将 numpy 转换成 pd 表
pd.DataFrame(data)
# 归一化 【0,1】 之间
scaler = MinMaxScaler() # 实例化
scaler = scaler.fit(data) # fit , 生成 min(x) 和 max(x)
result = scaler.transform(data) # 通过接口导出 结果
data2 = scaler.inverse_transform(result) # 反转回去到 原 data
scaler = MinMaxScaler(feature_range=[5,10]) # 归一化到 【5, 10】之间
result = scaler.fit_transform(data2)
data.info() # 查看数据的基本情况
# 查看是否存在 nan
df.isnull().values.any()
# 读取原始数据
trian = pd.read_csv(path)
# drop_duplicates 去除重复项
all_customer = pd.DataFrame(trian[['customer_id']]).drop_duplicates(['customer_id']).dropna()
# 转成 pandas 格式的日期形式
trian['order_pay_time'] = pd.to_datetime( trian['order_pay_time'])
trian['order_pay_date'] = trian['order_pay_time'].dt.date
# 改变数据类型, .astype(str) <= 进行比较
trian['order_pay_date'].astype(str) <='2013-07-03'
# iloc[r_start:r_end , c_start: c_end] index 值
status2 = train.iloc[x,20]
# 修改某个值
all_customer.loc[all_customer['customer_id'] ==6 ,'mermber_status'] = mermber_status2
# 去除 customer_id = Null 的所有行
train.drop(train[train['customer_id'].isnull()].index)
# 按照 customer_id 来分组,并计算每一组的 customer_id 的数量
customer_id = train.groupby(['customer_id'] )['count'].agg({'count':'count'})
# 用户是否已评价 0-未评,1-评价 有缺失值Nan
train.loc[train['is_customer_rate'].isnull() , 'is_customer_rate'] = 0
# 增加一列,并且指定值
all_customer['mermber_status'] = 'one_values'