You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除数据集的最后20%数据行?

移除数据集最后20%数据行的实现方法

下面是几种常用工具的具体实现方案,按需选择:

Python Pandas 方案

适用于大多数结构化数据集(如CSV、Excel等),操作简单直观:

import pandas as pd

# 读取数据集(以CSV为例,其他格式可替换为pd.read_excel等)
df = pd.read_csv('your_dataset.csv')

# 计算需保留的行数:总行数的80%,这里用int()向下取整,也可改用round()四舍五入
keep_count = int(len(df) * 0.8)

# 截取前keep_count行
trimmed_df = df.head(keep_count)

# 保存处理后的数据集,index=False避免生成额外索引列
trimmed_df.to_csv('trimmed_dataset.csv', index=False)

R语言 方案

适合R生态下的数据处理场景:

# 读取CSV数据集
df <- read.csv("your_dataset.csv")

# 计算保留行数,floor()用于向下取整,也可改用round()
keep_count <- floor(nrow(df) * 0.8)

# 截取前keep_count行
trimmed_df <- df[1:keep_count, ]

# 保存处理后的数据,row.names=FALSE避免写入行名
write.csv(trimmed_df, "trimmed_dataset.csv", row.names = FALSE)

命令行(awk/head)方案

适合处理超大文本数据集,无需加载全量数据到内存:

# 第一步:获取总行数并计算需保留的行数
total_lines=$(wc -l < your_dataset.csv)
keep_lines=$(echo "$total_lines * 0.8" | bc | awk '{print int($1)}')

# 情况1:数据集有表头(保留第一行表头,再取后续keep_lines-1行)
head -n 1 your_dataset.csv > trimmed_dataset.csv
head -n $keep_lines your_dataset.csv | tail -n +2 >> trimmed_dataset.csv

# 情况2:数据集无表头(直接取前keep_lines行)
# head -n $keep_lines your_dataset.csv > trimmed_dataset.csv

注意事项

  • 若总行数的20%不是整数,可根据需求选择向下取整(int()/floor())或四舍五入(round());
  • 处理带表头的数据集时,务必确保表头不被误删;
  • 超大文件优先使用命令行方案,避免内存溢出。

内容的提问来源于stack exchange,提问作者David95

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:15:38