#pandas库导入csv
#r的作用是把\变成/
data = pd.read_csv(r"D:\jupterFiles\sklearnGo\data.csv")
#data是从csv导入的,因此:
data #整个数据
data.info()
#下面表示891行;列
#如果有object对象,是不能直接使用的;要转化为数字
#对于缺失值,需要处理;缺失太多直接删掉
data.head(10)
#显示前面n个(默认5)
#删去一些列
#删掉名字name,舱位号cabin,ticket票号
#drop()删除函数;inplace=True表示覆盖原表(默认False,生成新对象);axis=1表示对“列”进行操作
data.drop(['Cabin','Name','Ticket'],inplace=True,axis=1)
#删去数值包含空的行
data = data.dropna(axis=0)
#获得一列中所有可能的值
#取出Embarked中所有的值
labels = data['Embarked'].unique().tolist()
#['S', 'C', 'Q']
#获得列表中某个值的下标
labels.index('S')
#对列进行操作
#apply()在这一列上执行括号里的操作
#匿名函数 lambda x;用于把列表的项转换成索引
#下面表示Embarked的每一行数据,给出字母->返回索引
data['Embarked'] = data['Embarked'].apply(lambda x:labels.index(x))
#判断某列是否是某值(比如男)
data['Sex'] == "male"
#判断每一行都等于male吗,是的话返回true
#修改为1(男)和0(女)
(data['Sex']=="male").astype("int")
#获得某几列
#iloc[:^,^]。第一个^表示所有行;第二个^表示取出返回为True的列
x = data.iloc[:,data.columns != "Survived"]
y = data.iloc[:,data.columns == "Survived"]
#划分训练集与测试集
Xtrain, Xtest, Ytrain, Ytest = train_test_split(x,y,test_size=0.3)
#决策树模型
clf = DecisionTreeClassifier(random_state=25)
clf = clf.fit(Xtrain,Ytrain)
score = clf.score(Xtest,Ytest)
#使用了交叉验证的决策树模型
clf = DecisionTreeClassifier(random_state=25)
score = cross_val_score(clf,x,y,cv=10).mean()
#其他还有【测试最好的max_depth, 画图plt, 网格搜索】在这里不贴出来了
泰坦数据学习笔记-pd常用函数:读csv,read_csv()、删除列drop()、列操作loc(), iloc()...
最新推荐文章于 2023-01-16 14:42:22 发布