• 数据预处理


    对于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
  • 相关阅读:
    遗传算法的理解
    使用Grub Rescue 修复MBR
    java 虚拟机与并发处理几个问题简要(二)
    java 虚拟机与并发处理几个问题简要(一)
    Fence Repair POJ
    Best Cow Line---POJ 3617(贪心)
    迷宫的最短路径
    最大子段和
    Lake Counting --POJ 2386
    Ants POJ
  • 原文地址:https://www.cnblogs.com/zhange000/p/10417989.html
Copyright © 2020-2023  润新知