122万条数据电脑带不动😥请问有什么比较傻瓜的方法简单粗暴删除一部分吗
def replace_feature(data): # 把数据处理,字符串改成数字形式
for each in data.colums: # 遍历data中的每个feature
unique_value = set(feature_list) #剔除每个feature中重复的元素,接受参数为list # set输出值的顺序是随机,可能会产生
i = 0
for fea_value in unique_value: #遍历单个feature中的每个元素
data[each] = data[each].replace(fea_value,i) # 用数字重置之前每个feature中评判标准的字符串(字符串数值离散化)
# 例如school中的“GP”评判标准改为0
# school中的"MS"判断标准改为1
i += 1
return data
stu_data = replace_feature(stu_data)
stu_data.head()
回答:
如何缩小大型数据集,以便能够在电脑上处理?
一个简单且常见的方法是对数据进行采样,即从原始数据集中随机抽取一小部分数据来代表整个数据集。这个采样过程可以通过编写代码来实现。
例如,使用Python编写一个程序来从原始数据集中随机选择1000条数据:
import random
# load data into a list
data = []
with open("path/to/data.csv", "r") as f:
for line in f:
data.append(line.strip())
# randomly select 1000 data points
sample = random.sample(data, 1000)
# write sampled data to a new file
with open("path/to/sampled_data.csv", "w") as f:
for line in sample:
f.write(line + "\n")
这个程序首先从原始数据文件中加载数据,存储在列表data
中。然后使用Python的random.sample
函数从data
中随机选择1000个数据点,并将它们存储在smaple
变量中。最后,程序将被采样的数据写入一个新的文件中。
需要注意的是,这种简单的随机采样方法可能会导致样本偏差,因为样本可能不够代表整个数据集。更复杂的采样技术(如分层采样)可以更好地解决这个问题。