[Pandas+Numpy] 从csv文件中随机提取某几行添加到另一个csv文件中
目标:从一个csv文件中随机抽取某些行,添加到另一个csv文件中。
条件:两个文件的列名(表头)相同,两个文件的cloumns一样
代码如下
import pandas as pd
import numpy as np
import random # 用于生成随机数
// 读入要抽取的文件及要添加的csv文件
file1 = pd.read_csv('./file1.csv')
file2 = pd.read_csv('./file2.csv')
// 相关数据
len_file1 = len(file1.a.values[:])
scale = list(range(0,len_file1)) # 生成随机数范围,0 ~ file1 的长度
num = 50 # 要从file1中抽取的数目
// 生成随机数,若num大于文件长度,则添加file1中所有的内容
randoms = random.sample(scale, num if len(scale) > num else len(scale))
columns = file1.columns.values # 获取表头
// 开始抽取和添加了嗷
for j in randoms:
file2 = np.vstack((file2,file1.values[j]))
// 转为DataFrame并保存
new = pd.DataFrame(file2,columns=columns)
// 数据去重
new = new.drop_duplicates() # 去重
new = new.reset_ind