【发布时间】:2016-09-13 19:40:41
【问题描述】:
我有一个包含 390 行和大约 8000 列的 .txt 文件。数据仅包含由空格分隔的 1 和 0。我想计算所有列中数字 1 出现在每列(每列总和)中的次数。我为此使用 numpy 数组。问题是我在脚本行“b = a.sum(axis=0)”中不断收到以下错误消息:
"TypeError: 不能使用灵活类型执行 reduce"
欢迎提出任何建议!
这是我正在使用的简单代码:
import csv
import numpy as np
from numpy import genfromtxt
my_data = genfromtxt('test1.txt', dtype='S', delimiter=',')
a = np.asarray(my_data)
import sys
sys.stdout = open("test1.csv", "w")
b = a.sum(axis=0)
print b
输入示例,test1.txt:
1 0 0 0 1 1 0 1
0 1 1 0 1 1 1 1
1 0 0 0 0 1 0 0
0 1 1 0 1 0 1 1
预期输出:
2 2 2 0 3 3 2 3
【问题讨论】:
-
第一步是正确使用
genfromtxt。你打印了a还是查看了它的属性?或者看看my_data?
标签: numpy multidimensional-array