机器学习离不开数据,数据分析离不开pandas。昨天感觉了一下,真的方便。按照通常的使用过程,将pandas的经常使用方法说明一下。机器学习
首先,咱们拿到一个excel表,咱们将之另存为csv文件。由于文件是实验室的资源,我就不分享了。函数
首先是文件读取学习
def load_csv(filename): data=pd.read_csv(filename) data = data.drop(data.columns[39:], axis=1) return data
咱们调用read_csv文件能够直接读取csv文件。其返回值为DataFrame。excel若是横向拖动太多的话,会生成不少空列。这里咱们经过drop方法删掉39列以后的列。spa
而后pandas为了让显示美观,会在输出信息的时候自动隐藏数据。咱们调整参数,使数据所有显示。excel
pd.set_option('display.max_rows', 10) pd.set_option('display.max_columns', 500) pd.set_option('display.width', 500)
设置最多显示10行,500列。宽度为500.code
使用 data.head()能够查看前4行的数据。orm
print(data.head())
能够看到所有数据都被显示出来了。而后咱们能够使用data.info() ,data.discribe()、data.count()查看数据的总体信息。blog
print(data.info()) print(data.describe()) print(data.count())
data.info()显示的是:资源
data.describe()显示的是:rem
data.count()显示的是:
能够看到数据的值跨度很大,因此咱们对数据进行normalization:
keys=X.keys().tolist() keys.remove("Index") keys.remove("Label") for key in keys: #将数值范围限定在-0.5~0.5 #normalize_col=(X[key]-(X[key].max()+X[key].min())/2)/(X[key].max()-X[key].min()) #用mean来normolize normalize_col = (X[key] - X[key].mean()) / (X[key].max() - X[key].min()) X = X.drop(key, axis=1) X[key]=normalize_col
咱们能够经过keys中列名来有选择的进行归一化处理。
有时候,有的不和规范的数据咱们想删掉:
#删掉JiGan为-1的人 data = data[data["JiGan"].isin([-1.0]) == False]
数据筛选还有其余函数,用到了在慢慢补充吧。