python处理数据篇之数据变形

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

在这里插入图片描述

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