我们现在针对实际存在的一批数据进行处理
我们可以看到,像season\mnth\hr这种变量肯定是要特殊处理的因为他们之间没有偏序关系
解决思路
- 找到所有需要fix的变量
- 遍历,把每一个变量形成一个dataframe
- 把所有独热编码转换过的和原来的dataframe拼接起来
- !!!最重要的也就是把原来的那些列给删掉
实际操作
import pandas as pd
rides = pd.read_csv('data_bike/hour.csv')
rides.head()
counts = rides['cnt'][:50]
dummy_fields = ['season','weathersit','mnth','hr','weekday']
for each in dummy_fields:
dummies = pd.get_dummies(rides[each],prefix=each)
#这里挨个转换独热编码,转换完了一个就粘贴一个
pd.concat([rides,dummies],axis=1)
fiels_to_drop = ['instant', 'dteday', 'season', 'weathersit','weekday', 'atemp', 'mnth', 'workingday', 'hr']
data = rides.drop(fiels_to_drop,axis=1)