- 对行列的索引
X = iris_1['data'][:,[0,2]]
取iris_1中data的未知行数,第1第3列
2.为数据增加列名
X=pd.DataFrame(X)
Y=pd.DataFrame(Y)
X.columns=["Sepal length","petal length"]
Y.columns=["target"]
在增加列名时一般使用columns函数,因此需要把数据转换为Dataframe
3.loc()函数取某几列的值
train_data1 = train_data.loc[:,['Survived','Pclass','Sex','Embarked']]
取未知行数,列名为'Survived','Pclass','Sex','Embarked'的几列,其中取多列使用[]
或者通过drop()函数删除
train_data1=train_data.drop(['PassengerId','Name','Age','SibSp','Parch','Ticket','Fare','Cabin'],axis=1)
注意axis=1不能少
4.当数据中出现NaN时,进行替换
#train_data1.fillna(1,inplace=True)###处理非常粗糙
是对数据中所有的值进行索引判断是否为nan
train_data1['Embarked']=train_data1['Embarked'].apply(lambda x: x if x == x else 'Q')
#将enbarked列中的 nan值 替换为 ‘Q’,因为x if x == x判断nan,nan不等于nan
5.对数据进行替换
因为进行数据分析时,数据中的字符串的表示不能直接用,需要进行转换
train_data1.Sex[train_data1['Sex']=='male']=0
train_data1.Sex[train_data1['Sex']=='female']=1
train_data1.Embarked[train_data1['Embarked']=='Q']=1
train_data1.Embarked[train_data1['Embarked']=='C']=2
train_data1.Embarked[train_data1['Embarked']=='S']=3
6.取数据作图
setosa=plt.scatter(X.loc[:,"Sepal length"][Y==0],
X.loc[:,"petal length"][Y==0],
color='red', marker='o', label='setosa')
plt.legend(loc=2)
取的数据都是Y=0时对应不同特征的值,plt.legend(loc=2) 中的loc参数可以控制图例的位置,loc=2为左上角
plt.scatter(x0[:, 0], x0[:, 1], c="red", marker='o', label='label0')
plt.scatter(x1[:, 0], x1[:, 1], c="green", marker='*', label='label1')
plt.scatter(x2[:, 0], x2[:, 1], c="blue", marker='+', label='label2')
marker='+',还可以改变图中标记的形状