Pandas DataFrame用法總結

2021-10-06 14:04:06 字數 1684 閱讀 4289

1、將某一列滿足條件的資料的所在行提取出來

df_ori = pd.read_excel('f:\ivf\data\data_add_yuejing_time\data_arrange_no_null23.xlsx')

df_new = df_ori[df_ori.iloc[:,-2]>=0.6] #將某一列滿足條件(>=0.6)的資料行提取出來

df_new.to_excel('df_new.xlsx',index=false)

2、新建乙個dataframe,向dataframe物件中新增新的行,如果新增的列名不在dataframe物件中,將會被當作新的列進行新增

data = pd.dataframe(columns=)

a =

print(data)

3、從dataframe中提取想要的某幾列(以下兩種方式都可實現)

(1)

columns_you_want = ['x1', 'x2', 'x3', 'x4', 'x5']

end_column = ['y1']

train_input = df_train[columns_you_want]

train_output = df_train[end_column]

(2)

train_input = df_train.loc[:,df_train.columns!='y1']

train_output = df_train.loc[:,'y1']

4、 將dataframe中的某幾列特徵轉換成one_hot編碼

注意:(1)predix一定要保證包含df中所有除數字之外的列名,比如c列都是數字,在predix就不包括,但a列和b列必填,只填a或b都不行;

(2)dataframe裡面不會對數字列進行one_hot編碼,series裡的數字會按照one-hot進行編碼(dataframe與series之間的關係:如果檢視dataframe的某一列,返回的就是series);

(3)特徵的維度數量會有所增加

5、合併多個dataframe

pd.concat([df_new,bf_new],axis=1)#從列方向上合併,注意列與列之間在行方向上的index必須一致才能合併

pd.concat([df_new,bf_new],axis=0)#從行方向上合併,注意合併的時候會出現index重複的情況,可以在後面加上引數ignore_index=true

6、向原有的dataframe增加新的一列

7、刪除dataframe中的某些列

df.drop(['a','b'],axis=1)

8、根據某列去重

temp=df_ori.drop_duplicates(subset=['基本資訊|p_id','基本資訊|o_id'],keep='first')
9、dataframe型別的資料在資料標準化fit_transform後丟失列名後怎麼回到dataframe

Pandas DataFrame常用方法

1 獲取列名 1.1.鍊錶推導式 語法 col for col in df 返回結果 cvr1 cvr2 cvr3 cvr4 結果型別 list 1.2.通過columns屬性 columns屬性返回index,columns.values屬性返回 numpy.ndarray,可通過 tolist ...

Pandas DataFrame 按行構建

當我們從複雜 提取出逐個樣本的特徵時,繼而構成一條樣本並組成訓練或測試集時,比較容易想到的一點就是一行一行地構建dataframe。而pandas.dataframe 容許的輸入有numpy ndarray structured or homogeneous dict,or dataframe這些 ...

如何迭代pandas dataframe的行

from 在對dataframe進行操作時,我們不可避免的需要逐行檢視或運算元據,那麼有什麼高效 快捷的方法呢?import pandas as pd inp df pd.dataframe inp for x in xrange len df.index print df c1 iloc x 這似...