数据预处理

对于DataFrame的一些操作
DataFrame.drop()
inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
参数 inplace=True 则会直接在原数据上进行删除操作,删除后就回不来了

axis=0,指删除index,因此删除columns时要指定axis=1;

data = pd.read_csv(路径)
data.drop(["Cabin","Name","Ticket"],inplace=True,axis=1) 删除哪些字段 用的是中括号
Pandas dataframe 每一列可以是不同的类型
dataframe.mean() 计算每一列的平均值
如果想计算单列的均值,就需要dataframe['column'] column代表的字段名
dataframe.fillna() 对空值进行填充
一般就直接在括号里添加需要填充的数值
data["Age"].fillna(data['Age'].mean()) 这个填充值取得是年龄的平均值,所以可以简单的看成fillna函数中填充了一个数字而已
而且经常用的也就是这个单纯用法,所以别的花里胡哨的就暂时先不学啦
默认删除有控制的行
dataframe.dropna()  默认是axis=0,所以就意味着要删除含有空值的行数据
data = data.dropna()
data["Sex"] = (data["Sex"]=="male").astype("int")
将性别中的男女转换为0-1

data["Embarked"].unique()
知道这一列中有哪些值、

data["Embarked"].value_counts()
列出有哪些值 并且知道分别有多少
labels = data["Embarked"].unique().tolist()
data["Embarked"] = data["Embarked"].apply(lambda x: labels.index(x))
将三分类的先用unique 转化为list 然后用索引进行数字替换 这样就将文字型转换为数字型
           b         d         e
utah   -0.451195 -0.183451 -0.297182
ohio    0.443792  0.925751 -1.320857
texas   1.039534 -0.927392  0.611482
oregon  0.938760  1.265244  0.313582
f=lambda x:x.max()-x.min()
#默认情况下会以列为单位,分别对列应用函数
t1=df.apply(f)
print(t1)

b    1.490729
d    2.192636
e    1.932339

 

posted @ 2019-02-22 13:58  詹岩鹏  阅读(524)  评论(0编辑  收藏  举报