Python循环使用它不应该使用的值';不可能
这是我昨天发的帖子的后续问题(?): 我正在尝试我正在尝试在给定的.csv文件中使用pandas查找特定的行和列。以下是该表的快照: 该表从2015年1月1日至2017年12月31日。我已经从csv文件中找到了要使用的特定列和日期,并将其打印出来,以便查看它是否正常工作。这是我迄今为止的代码:Python循环使用它不应该使用的值';不可能,python,pandas,Python,Pandas,这是我昨天发的帖子的后续问题(?): 我正在尝试我正在尝试在给定的.csv文件中使用pandas查找特定的行和列。以下是该表的快照: 该表从2015年1月1日至2017年12月31日。我已经从csv文件中找到了要使用的特定列和日期,并将其打印出来,以便查看它是否正常工作。这是我迄今为止的代码: months = {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6, 'July': 7, '
months = {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6,
'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, 'December': 12}
month = str(input('Enter a month: '))
year = str(input('Enter a year: '))
if not (2015 <= float(year) <= 2017):
print('Enter a year bewteen 2015 and 2017, both included and try again')
exit()
day = 1
df1 = df.set_index(['Date'])
if (month == 'January' or 'March' or 'May' or 'July' or 'August' or 'October' or 'December'):
while day < 32:
find = df1.loc[[str(months[month]) + '/' + str(day) + '/' + str(year)], ['Temp Low']]
print(find)
day += 1
elif (month == 'April' or 'June' or 'September' or 'November'):
while day < 31:
find = df1.loc[[str(months[month]) + '/' + str(day) + '/' + str(year)], ['Temp Low']]
print(find)
day += 1
elif (month == 'February'):
if year == '2016':
while day < 29:
find = df1.loc[[str(months[month]) + '/' + str(day) + '/' + str(year)], ['Temp Low']]
print(find)
day += 1
else:
while day < 28:
find = df1.loc[[str(months[month]) + '/' + str(day) + '/' + str(year)], ['Temp Low']]
print(find)
day += 1
months={'一月:'1'二月:'2'三月:'3'四月:'4'五月:'5'六月:'6,
7月:7日、8月:8日、9月:9日、10月:10日、11月:11日、12月:12日}
month=str(输入('输入月份:'))
年份=str(输入('输入年份:'))
如果不是(2015你的或声明显然是错误的
if (month == 'January' or 'March' or 'May' or 'July' or 'August' or 'October' or 'December'):
总是计算为true;您将希望用例如
if month in ('January', 'March', 'May', 'July', 'August', 'October', 'December'):
只需更改if
和elif
语句即可
if (month == 'January' or 'March' or 'May' or 'July' or 'August' or 'October' or 'December'):
将或语句视为另一个if
:您必须再次将其与月份进行比较。
换句话说:在你的if
声明中,你的字面意思是“如果月份等于一月或者三月或者五月或者七月……”,正如我们所知,如果‘七月’
真的没有任何意义
尝试:如果月份在('1月'、'3月'、'5月'、'7月'、'8月'、'10月'、'12月'):
请提供预期结果。显示中间结果与预期结果的偏差。我们应该能够将单个代码块粘贴到文件中,运行它,并重现您的问题。这也让我们可以在您的上下文中测试任何建议。您针对一个三行问题发布了30多行文本,但没有跟踪您我不敢相信我这么笨,谢谢你指出我的错误!谢谢!我不敢相信我错过了这么简单的事情