我对numpy很陌生。我正在尝试打开一个CSV文件,该文件包含4列和大约100行。我想要一个2D numpy数组,该数组将第一列设置为x坐标,并将第二列设置为y坐标。
import numpy as np
dataDocument = open("data.csv")
headers = dataDoument.readline()
def generateArray(dataDocument):
for numbers in dataDocument:
splitDocument = numbers.strip().split(",")
myArray = np.array(splitDocument[0], splitDocument[1])
return myArray
print(generateArray(dataDocument))
我不断收到各种错误消息,最常见的是“无法理解的数据类型”。关于我的逻辑错误/通用代码错误在哪里存在的任何建议?
答案 0 :(得分:1)
尝试:
from numpy import genfromtxt
data = genfromtxt('data.csv', delimiter=',')
res = data[:,0:2]
答案 1 :(得分:1)
您也可以尝试:
// This test will perma-hang if the exception is not thrown
[TestMethod]
[ExpectedException(typeof(OperationCanceledException))]
public async Task TestMethod1()
{
var source = new Mock<IHttpManager>();
source.Setup(s => s.TryCallThirdParty(It.IsAny<CancellationToken>())).Returns<CancellationToken>(
async token =>
{
// Spin until the token is cancelled
while (true)
{
token.ThrowIfCancellationRequested();
// Add some delay to make this not-CPU-bound
await Task.Delay(100);
}
});
var tcs = new CancellationTokenSource(1000);
await new Caller().Get(source.Object, tcs.Token);
}
答案 2 :(得分:0)
replace: myArray = np.array(splitDocument[0], splitDocument[1]) with: myArray = np.array((splitDocument[0], splitDocument[1])) in your method and should solve the issue.
问题是由于您要将splitDocument[1]
作为dtype参数传递给np.array
。