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

在这里插入图片描述

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