我有两个numpy数组NS,EW总结.他们每个人在不同的位置都有缺失值,比如
NS = array([[ 1., 2., nan],
[ 4., 5., nan],
[ 6., nan, nan]])
EW = array([[ 1., 2., nan],
[ 4., nan, nan],
[ 6., nan, 9.]]
Run Code Online (Sandbox Code Playgroud)
如何以numpy方式执行求和操作,如果一个阵列在一个位置具有nan,则将nan视为零,并且如果两个阵列在同一位置具有nan,则保持nan.
我期望看到的结果是
SUM = array([[ 2., 4., nan],
[ 8., 5., nan],
[ 12., nan, 9.]])
Run Code Online (Sandbox Code Playgroud)
当我尝试
SUM=np.add(NS,EW)
Run Code Online (Sandbox Code Playgroud)
它给了我
SUM=array([[ 2., 4., nan],
[ 8., nan, nan],
[ 12., nan, nan]])
Run Code Online (Sandbox Code Playgroud)
当我尝试
SUM = np.nansum(np.dstack((NS,EW)),2)
Run Code Online (Sandbox Code Playgroud)
它给了我
SUM=array([[ 2., 4., 0.],
[ 8., 5., 0.],
[ 12., 0., 9.]])
Run Code Online (Sandbox Code Playgroud)
当然,我可以通过进行元素级操作来实现我的目标,
for i …Run Code Online (Sandbox Code Playgroud) 我创建了一个包含两列的 csv 文件,第一列是时间数据,第二列是一些测量数据值。
2015/1/1 0:00 5
2015/1/1 0:15 10
2015/1/1 0:30 10
2015/1/1 0:45 15
2015/1/1 1:00 5
2015/1/1 1:15 20
2015/1/1 1:30 20
2015/1/1 1:45 40
2015/1/1 2:00 30
2015/1/1 2:15 20
2015/1/1 2:30 25
2015/1/1 2:45 10
2015/1/1 3:00
2015/1/1 3:15
2015/1/1 3:30
2015/1/1 3:45
2015/1/1 4:00
2015/1/1 4:15
2015/1/1 4:30 30
2015/1/1 4:45 50
2015/1/1 5:00 70
Run Code Online (Sandbox Code Playgroud)
现在我想使用numpy.loadtxt函数将这两列读入两个不同的 numpy 数组,其中日期列为字符串数据类型,值列为整数数据类型。
我尝试了不同的语句来做到这一点,但它们都不起作用。
time, data = np.loadtxt('TS.csv',dtype=str,delimiter=',',usecols=(0, 1),unpack=True)
time, data = np.loadtxt('TS.csv',dtype=(str,int),delimiter=',',usecols=(0, 1),unpack=True)
time, data = np.loadtxt('TS.csv',dtype=[str,int],delimiter=',',usecols=(0, …Run Code Online (Sandbox Code Playgroud)