1)讀取csv文件
data =pandas.read_csv(‘test.csv’) //返回的是DataFrame變量
first_rows = data.head(n) //返回前n條數據,默認返回5條
cols = data.columns //返回全部列名
dimensison = data.shape //返回數據的格式,數組,(行數,列數)
data.values //返回底層的numpy數據
如下去所示的csv數據:
解析1:
import pandas as pdtrain_data = pd.read_csv("train.csv")# 將標簽轉為0,1,2,3,4,...# 去掉重復的species = train_data['species'].unique()PRint species# 轉為0,1,2,3,4,...species = pd.Series(range(0, len(species)), index=list(species))print species# 修改標簽數據為:0,1,2,3,4,...def fix_spieces(line): line['species'] = species.loc[line['species']] return linetrain_data = train_data.apply(fix_spieces, axis=1)print train_data[0:4]# 返回numpy數據。# 下標從0開始。# 取樣本數據,所有行:第二列到最后一列。train_data.values[0::, 2::]# 取標簽數據,所有行:第一列。train_data.values[0::, 1]解析2:
import pandas as pdimport numpy as npfrom sklearn.preprocessing import LabelEncoderfrom sklearn.preprocessing import StandardScalertrain_data = pd.read_csv("train.csv")# 將train_data中的‘id’列彈出。ID = train_data.pop('id')# print train_data[0:1]# 將train_data中的‘species’列彈出。y = train_data.pop('species')# 將species向量化。y = LabelEncoder().fit(y).transform(y)print y# standardize the data by setting the mean to 0 and std to 1standardize = TrueX = StandardScaler().fit(train_data).transform(train_data) if standardize else train_data.valuesprint X[0:1]2)pandas的主要數據類型dtype:object, 字符串類型int, 整型float, 浮點型datetime, 時間類型bool, 布爾型print data.dtpyes輸出每一列的數據類型3)索引4)選擇數據data.loc[1] //返回單列數據data.loc[1:3] //返回切片列數據,相當于 data.loc[[1,2,3]]data.loc[:,['ID’]]data.loc[:4,['ID','YELP’]] //返回指定行的指定類,從0行到4行,包括第4行data.iloc[:,:] //返回所有數據data.iloc[:2,1:3] //返回特定行特定列的數據data[‘ID’] //返回列data[2:5] //返回行data[3:6][:2]data[‘ID’][3:6]data[3:6][‘ID’]data[data.YELP>0] //YELP這列的值不為空,即NaNdata[data['ID'].isin(['v4','v5'])] //返回有這個值的列5)缺失值處理去掉包含缺失值的行:df.dropna(how=‘any’)對缺失值進行填充:df.fillna(values=‘NULL’)對數據進行布爾補充:pandas.isnull(df)6)數據處理
<class 'pandas.core.series.Series'>方法to_stringto_jsonjson.loads(df.loc[0:5,['ID','YELP']].to_json())輸出.csv文件。對應解析1:output = model.predict_proba(test_data.values[0::, 1::]) out = pd.DataFrame(output, index=test_data.values[0::, 0].astype(np.int), columns = species.index.values)out.index.name = "id"out.to_csv("output.csv")對應解析2:
LABELS = sorted(pd.read_csv('train.csv').species.unique())ID, test_data = load_test_data()yPred_proba = model.predict(test_data)# Converting the test predictions in a dataframe as depicted by sample submissionyPred = pd.DataFrame(yPred_proba,index=ID,columns=LABELS)print('Creating and writing submission...')fp = open('submit.csv', 'w')fp.write(yPred.to_csv())print('Finished writing submission')# Display the submissionyPred.tail()
新聞熱點
疑難解答