Python处理DataFrame时的一些操作
以前处理DataFrame都是使用切片来处理其中的值,今天做数据的预处理,发现了以前从来没用过的DataFrame操作,算是慢慢积累吧,首先看下原始数据格式
假设你已经把数据读入python了,如果你还不会读入数据,看下面代码:
import pandas as pd
train_data = pd.read_csv(r'C:\Users\Administrator\Desktop\train.csv') #数据读入
1.找出分类变量的值
target = train_data['Category'].unique()
print(target)
2.把大批量分类变量的值变成对应数字表示,可以看看这篇文章字典巧用
data_dict = {}
count = 1
for data in target:
data_dict[data] = count
count += 1
data_dict
train_data['Category'] = train_data['Category'].replace(data_dict)
3.提取出列名并删除一个列名,终于不用再用切片了!
columns_train = train_data.columns # 提取所有列名
cols = columns_train.drop('Resolution') # 删除一个列名
train_data_new = train_data[cols] #此时train_data_new中不包含 'Resolution'这一列
4.按列名读取数据
features = ["DayOfWeek", "PdDistrict", "X", "Y"]
X_train = train_data[features] # 等价于X_train = train_data[["DayOfWeek", "PdDistrict", "X", "Y"]]
X_Y = train_data[[ "X", "Y"]]
5.对于字典,通过下面把键和值提取出来
for key,value in data_dict.items():
print(key,value)