操作
载入数据集
import pandas as pd
data = pd.read_csv('数据集的文件路径或者URL',header)
# header为表头,默认为第0行,header = None 默认没有表头,会自动添加数字作为列数
数据集抽样
显示数据集
data # 显示数据集
data.sample(int n) # 随机显示 n 条数据, 默认n = 1
data.head(int n) # 从头显示 n 条数据, 默认n = 5
data.tail(int n) # 倒数显示 n 条数据, 默认n = 5
抽取列数据
col_1 = data["class"] # 获取一列数据
col_12 = data[["sepallength","class"]] # 获取两列及以上数据集,需要使用二维数据
按属性选择数据分类并打乱,可用于生成训练集和测试集
t0 = data[data["class"] == 0] # 选择种类为0的鸢尾花数据
t0 = t0.sample(len(t0),random_state = ) # 指定random_state,那么每一次打乱的顺序都是相同的
t1 = data[data["class"] == 1]
t1 = t1.sample(len(t1),random_state = 0)
t2 = data[data["class"]== 2]
t2 = t2.sample(len(t2),random_state = 0)
# 分配训练集和数据集,axis=0表示按纵向方式拼接,aloc表示矩阵的截取
train_X = pd.concat([t0.iloc[:40, :-1], t1.iloc[:40, :-1], t2.iloc[:40, :-1]], axis=0)
train_y = pd.concat([t0.iloc[:40, -1], t1.iloc[:40, -1], t2.iloc[:40, -1]], axis=0)
test_X = pd.concat([t0.iloc[40:, :-1], t1.iloc[40:, :-1], t2.iloc[40:, :-1]], axis=0)
test_y = pd.concat([t0.iloc[40:, -1], t1.iloc[40:, -1], t2.iloc[40:, -1]], axis=0)
数据集统计
假若 对鸢尾花数据集中各种类的花的数量进行统计
data["class"].value_counts()
修改数据集1
修改数据集中某一个属性对应的值,例如鸢尾花数据集中将花的种类映射为0,1,2
data["class"] = data["class"].map({
"Iris-setosa" : 0,"Iris-virginica" : 1,"Iris-versicolor" : 2})
# class为鸢尾花的种类
修改数据集2
# 验证是否存在重复,若存在重复返回True
data.duplicated().any()
# 删除重复数据行
data = data.drop_duplicates()