对于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