Pandas使用總結

2021-08-19 18:21:20 字數 1738 閱讀 5136

第一參加阿里天池舉辦的比賽,關於美年雙高**的比賽,成績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方法在生成的...