当前位置: 移动技术网 > IT编程>脚本编程>Python > python工具集pandas处理数据使用介绍

python工具集pandas处理数据使用介绍

2020年09月29日  | 移动技术网IT编程  | 我要评论
最近在处理数据的时候了解了一个超好用的工具集pandas,这篇笔记是对在pandas中用到的内容进行记录,防止遗忘。1.学习背景已有的分类数据集存在样本不均衡的情况,对数据集进行处理。2.做测试集打开.csv文件filename_list = pd.read_csv('path', header=None)[0]注:这里的路径要写到要打开的文件名。看该文件中数据的行数print(len(filename_list))提取数据做成DataFrame形式,为后续筛选做准备la

最近在处理数据的时候了解了一个超好用的工具集pandas,这篇笔记是对在pandas中用到的内容进行记录,防止遗忘。

1.学习背景

已有的分类数据集存在样本不均衡的情况,对数据集进行处理。

2.做测试集

  1. 打开.csv文件
filename_list = pd.read_csv('path', header=None)[0] 

注:这里的路径要写到要打开的文件名。

  1. 看该文件中数据的行数
print(len(filename_list)) 
  1. 提取数据做成DataFrame形式,为后续筛选做准备
labels = [] for i in tqdm(filename_list): t = re.findall(r"\d+\.?\d*", i) labels.append(t) temp = np.array(labels) df = pd.DataFrame(temp, columns=["A", "B", "C", "D"]) 
  1. 筛选符合条件的数据
df_sub1 = filename_list[df['A'] == '1'] 
  1. 将符合条件的数据写入文件
# 1. 创建文件对象 f = open('test.csv', 'w', encoding='utf-8', newline='') # 2. 基于文件对象构建 csv写入对象 csv_writer = csv.writer(f) # 4. 写入csv文件内容 for j in df_sub1.values: csv_writer.writerow([j]) # 5. 关闭文件 f.close() 

3.做训练集

注:
1. 这1步用的方法比较笨,没有找到两个.csv文件相减的方法,后面如果有时间需要做一做。(这里是逐渐挑选判断+两个DataFrame融合的方法)
2. 采样目前用的是随机抽取,简单粗暴的让每个类别基础数据相等的方法。后面有时间可以学习下SMOTE算法(在数据没有这么多的情况下,增加数量少的那一种样本)+基于DataFrame数据集分割的欠采样(用不同的数据训练多次,最终取参数的平均值)。

  1. 采样
pdtys2 = pdty2.sample(n=40000) 
  1. 融合(合并)
df_subtest = pd.merge(df_sub5, df_sub10, how="outer") train1 = pd.concat([df_sub1,df_sub2,df_sub3, ], axis=0) 

注:1.pd.merge()2.pd.concat()对象数量和结果有区别,建议两个进行融合选择merge。 

本文地址:https://blog.csdn.net/Y2398Y/article/details/108870550

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网