python dataframe數據轉換

DataFrame

1. 創建 DataFrame

# 創建一個空的 DataFrame
#df = pd.DataFrame(columns=['車牌號', '車型', '標籤'])
df = pd.DataFrame([['滬C 100232', '奔馳', 'Y'], 
                   ['魯A 801353', '奧迪', 'N'], 
                   ['豫H 666132', '寶馬', 'Y']])
 
df.columns = ['車牌號', '車型', '標籤']

	  車牌號	    車型  標籤
0	滬C 100232	奔馳   Y
1	魯A 801353	奧迪   N
2	豫H 666132	寶馬   Y

2. mapping變換【車型】列數據

# 奔馳 -> 1, 奧迪 -> 2, 寶馬 -> 3.
mapping_1 = {'奔馳': 1,
             '奧迪': 2,
             '寶馬': 3}
             
df['車型'] = df['車型'].map(mapping_1)

        車牌號  車型  標籤
0	滬C 100232	1    Y
1	魯A 801353	2    N
2	豫H 666132	3    Y

3. 處理【車牌號】列數據

# 滬C 100232 ->滬C , 魯A 801353 ->魯A , 豫H 666132 ->豫H.
df['車牌號'] = list(map(lambda var: var[:2],df['車牌號'].tolist()))

    車牌號  車型   標籤
0	滬C	    1     Y
1	魯A	    2	  N
2	豫H	    3 	  Y

4. 處理【標籤】列數據

# Y ->0 , N ->1 , Y ->0.
mapping_2 = {value:ind for ind,value in enumerate(set(df['標籤']))}
df['標籤'] = df['標籤'].map(mapping_2)


    車牌號	 車型	標籤
0	滬C    	  1	     0
1	魯A	      2	     1
2	豫H	      3	     0

5. one_hot 處理【車牌號】

pd.get_dummies(df)
#pd.get_dummies(df['車牌號'])


	車型    標籤     車牌號_滬C   車牌號_豫H	車牌號_魯A
0	 1	     0	        1	        0	        0
1	 2	     1      	0	        0	        1
2	 3	     0      	0	        1	        0

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章