使用numpy genfromtxt读取CSV时首尾元素为NaN的原因
为什么genfromtxt读取CSV后首尾出现NaN?
- CSV首尾存在空行/空值:打开你的CSV文件查看开头或结尾,大概率存在完全空白的行,或者只有逗号的空内容行。genfromtxt遇到这种无法解析成数值的内容时,就会用NaN填充。
- 首尾行是非数值内容:如果CSV开头有表头(比如字符串标题)、结尾有注释/说明文字,genfromtxt默认会把这些内容当成数值解析,字符串转数值失败就会生成NaN。
- 文件格式异常:比如文件首尾存在不可见的特殊字符(编码残留、换行符错误等),导致解析时被识别为无效数值,最终生成NaN。
验证与解决方法
- 用普通文本编辑器打开
2857_54065_N.csv,检查首尾行内容,删掉空行或非数值行; - 如果有表头,读取时添加参数跳过表头:
my_data = genfromtxt('2857_54065_N.csv', encoding=None, delimiter=',', skip_header=1) - 如果有尾行无效内容,添加参数跳过尾行:
my_data = genfromtxt('2857_54065_N.csv', encoding=None, delimiter=',', skip_footer=1)
内容的提问来源于stack exchange,提问作者user2129623
相关产品推荐
相关产品推荐

