记录这段时间Python学习时常用的一些代码2

  1. 对行列的索引
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='+',还可以改变图中标记的形状

猜你喜欢

转载自blog.csdn.net/ziqingnian/article/details/108359965