主要练习DataFrame的
import pandas as pd
zhou=[[1,2,3,4],[5,6,7,8]]
df=pd.DataFrame(zhou,columns=['x1','x2','x3','x4'])
df1=df.copy() #拷贝一个DataFrame的副本
import os
import datetime
import numpy as np
from scipy import sparse
from scipy.stats import mstats
import pandas as pd
from pandas.api.types import is_numeric_dtype
import re
import pickle
import shutil
import xgboost as xgb
import lightgbm as lgb
from sklearn.model_selection import KFold
s=pd.Series(['-10.0121','+11.222','9.087'])
s = s.str.extract('([-+]?\d*\.\d+|\d+)', expand=False).astype(float).round(2)
# deal with outliers
“”“
0 -10.01
1 11.22
2 9.09
dtype: float64
”“”
s = pd.Series(mstats.winsorize(s, limits=[0.01, 0.01]))
tmp_s=pd.DataFrame([['row1','y1'],['row2','y1'],['row3','y2'],['row4','y1'],['row5','y1'],['row6','y2'],['row7','y1'],['row8','y2'],['row9','y3'],['row10','y2']],columns=['feature','label'])
tmp_counts = tmp_s['label'].value_counts() #对训练数据的标签进行计数
“”“
Out[81]:
y1 5
y2 4
y3 1
Name: label, dtype: int64
”“”
num_top=2
tmp_counts_top = tmp_counts[:num_top] #筛选(过滤):选出Series中最高的几个
tmp_num_unique = np.sum(tmp_counts>4) #筛选出次数异常的(大于某个阈值)
tmp_counts_num = pd.to_numeric(tmp_counts_top.index.to_series(), errors='coerce')
tmp_counts_num_extract = tmp_counts_top.index.to_series().str.extract('([-+]?\d*\.\d+|\d+)', expand=