Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python循环使用它不应该使用的值';不可能_Python_Pandas - Fatal编程技术网

Python循环使用它不应该使用的值';不可能

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, '

这是我昨天发的帖子的后续问题(?):

我正在尝试我正在尝试在给定的.csv文件中使用pandas查找特定的行和列。以下是该表的快照:

该表从2015年1月1日至2017年12月31日。我已经从csv文件中找到了要使用的特定列和日期,并将其打印出来,以便查看它是否正常工作。这是我迄今为止的代码:

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多行文本,但没有跟踪您我不敢相信我这么笨,谢谢你指出我的错误!谢谢!我不敢相信我错过了这么简单的事情