第一參加阿里天池舉辦的比賽,關於美年雙高**的比賽,成績0.08。因為之前只學習過理論,沒有具體做過專案,對python會一些,但對pandas基本從零開始。比賽初期基本copy大佬的資料處理部分的**,後面再在此基礎上修改。天池的比賽,比較貼近實際的專案,還是很有參與價值的。在這個比賽中,我也認識到了特徵工程的重要性,特徵決定了演算法的上限,模型是無限接近上限的手段。所以特徵工程非常重要,而pandas是資料處理重要模組。
1 讀取存入檔案:
train = pd.read_csv(
'../data/meinian_round1_train_20180408.csv',
sep=
',',
encoding
='gbk')
table_id_group.to_csv('../data/part_tabid_size.csv',encoding='utf-8')
第一引數:檔案路徑,注意用反斜桿,或者用雙正斜槓。2 dataframe的建立:
字典建立:
data=
train = pd.dataframe(data, index=['2','3','4','5'])
series建立:
data =
train= dataframe(data,index=['2','3','4','5'])
3 dataframe的行列索引:
行選擇data=train.iloc[1:3]
data=train.loc[1:3,['state']]
列選擇data = train['state']
data = train[train.columns[1]]
4 dataframe操作
拼接操作
part1_2 = pd.concat([data_part1,data_part2],axis=0)
axis =0 按行拼接,axis=1按列拼接
part1_2 = pd.dataframe(part1_2).sort_values(by='vid',ascending=true).reset_index(drop=true)
part1_2.dropna(axis=0,how='all')
part1_2.dropna(axis=0,how='any')
part1_2.dropna(axis=0,thresh=1)
填充nan的行列part1_2.fillna(0) #填充0
part1_2.fillna()#第1列填充0,第2列填充0.5
part1_2.fillna(method='ffill')#用前1列的值替代當前nan分組
part1_2.groupby(['vid']).size().reset_index()
pandas日常使用總結
總結使用pandas中遇到的問題 在pandas裡面有round,可以做四捨五入,但如果是只保留給定的位數,不做精度處理呢?那就不能使用round函式了。import pandas as pd data pd.dataframe 1.4354,2.65656,3.764534,4.5768564 4...
pandas使用技巧總結 1
記錄工作中使用過的一些pandas技巧 匯入必要的庫 並設定路徑 對得到資料預處理 cs well data 壓裂段 str.split n 2,expand true 壓裂段形式 井號 層號 段號 str.split 對應list.split 以什麼分割,預設空格,n 分成幾段,預設 1 all ...
Pandas知識總結
import pandas as pd ser obj.index range 10,20 標籤索引 series物件的其他屬性 dataframe型別資料與excel表及其類似,可以理解為多維的excel表。dateframe擁有與series的屬性 series中可以使用concat方法在生成的...