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

如何用Python的NumPy提取CSV特定数据并统计符合条件样本点

使用NumPy从CSV提取数据并统计特定条件样本数

步骤1:读取CSV文件到NumPy结构化数组

用numpy.genfromtxt读取CSV,明确指定表头和数据类型,确保OBJECTID和SEGMENT被解析为整数,避免后续运算出错:

import numpy as np

# 读取CSV文件,delimiter根据实际分隔符调整(此处假设为逗号)
data = np.genfromtxt(
    'your_data.csv',
    delimiter=',',
    names=True,  # 将第一行作为列名读取
    dtype=[('OBJECTID', 'i4'), ('SEGMENT', 'i4'), ('LATDD', 'f8'), ('LONDD', 'f8')]
)

步骤2:筛选并统计符合条件的样本

通过布尔索引筛选OBJECTID为奇数且SEGMENT为奇数的样本,再用np.sum统计数量:

# 生成筛选掩码
mask = (data['OBJECTID'] % 2 == 1) & (data['SEGMENT'] % 2 == 1)
# 统计符合条件的样本数
count = np.sum(mask)
print(f"符合条件的样本点数量:{count}")

针对你提供的数据集验证

观察你给出的所有样本:

  • 所有SEGMENT值(19574、19610、22222、25658、25830)均为偶数
  • 因此没有同时满足OBJECTID和SEGMENT都为奇数的样本,最终统计结果为0

常见问题排查

若你之前尝试时出错,大概率是数据类型问题:

  • 未指定dtype时,NumPy可能将OBJECTID和SEGMENT解析为字符串,此时%运算会直接报错
  • 读取时必须明确指定整数类型(i4表示32位整数),才能正常进行奇偶判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:55:15