如何使用numpy数组使用if语句?

时间:2019-11-01 16:20:19

标签: python if-statement subplot

由于我是编程新手,因此有关此问题的其他类似文章似乎也无法消除我的疑虑。他们使用了我所不了解的其他高级功能和/或逻辑。

我试图绘制两个子图,如下所示:

第一个代码:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

data_csv = pd.read_csv('DATA_TCC.csv')
print(list(data_csv))#to get csv file headings

loc = data_csv['LOCAL'][:]
date = data_csv['DATA'][:]
sal = data_csv['S'][:]
at = data_csv['AT'][:]


ax1 = plt.subplot2grid((2,1), (0,0), rowspan=1, colspan=1)
ax2 = plt.subplot2grid((2,1), (1,0), rowspan=1, colspan=1)

plt.sca(ax1)
if loc == 'Porto do Recife' and date == '5/14/14':
    plt.plot(sal, at, marker='.', color='k', label='CE - Nov/14', 
linestyle='none')

plt.sca(ax2)
if loc == 'Porto do Recife' and date == '11/6/14':
    plt.plot(sal, at, marker='.', color='k', label='CE - Nov/14', 
linestyle='none')

plt.tight_layout()
plt.show()

第二个代码:

data_csv = pd.read_csv('DATA_TCC.csv')
data = pd.DataFrame.to_numpy(data_csv)#to convert pandas series into 
np arrays

print(list(data_csv))#to get csv file headings

loc = data[:,0]
date = data[:,3]
sal = data[:,10]
at = data[:,21]


ax1 = plt.subplot2grid((2,1), (0,0), rowspan=1, colspan=1)
ax2 = plt.subplot2grid((2,1), (1,0), rowspan=1, colspan=1)

plt.sca(ax1)
if loc == 'Porto do Recife' and date == '5/14/14':
    plt.plot(sal, at, marker='.', color='k', label='CE - Nov/14', 
linestyle='none')

plt.sca(ax2)
if loc == 'Porto do Recife' and date == '11/6/14':
    plt.plot(sal, at, marker='.', color='k', label='CE - Nov/14', 
linestyle='none')

plt.tight_layout()
plt.show()

在第一个代码中遇到此错误后:

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

我试图用seccond代码将cdv文件转换为numpy数组,但出现此错误:

ValueError:具有多个元素的数组的真值不明确。使用a.any()或a.all()

很明显,我缺少有关if语句的信息。如何使两个代码都能正常运行?

谢谢。

0 个答案:

没有答案