Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 3.x Python:如何从datetime列中提取的月份列中获取模式?_Python 3.x - Fatal编程技术网

Python 3.x Python:如何从datetime列中提取的月份列中获取模式?

Python 3.x Python:如何从datetime列中提取的月份列中获取模式?,python-3.x,Python 3.x,我是新手!正在执行我的第一个Python项目。:) 我的任务是: 将df['Start Time']从字符串转换为datetime 从df['Start Time']创建月份列 获取当月的模式 我使用了几种不同的方法来完成所有3个步骤,但尝试获取模式时总是返回类型错误:元组索引必须是整数或切片,而不是str。即使我尝试将“元组”转换为列表或NumPy数组,也会发生这种情况 我试图从开始时间提取月份的方法: df['extracted_month'] = pd.DatetimeIndex(df['

我是新手!正在执行我的第一个Python项目。:)
我的任务是:

  • 将df['Start Time']从字符串转换为datetime
  • 从df['Start Time']创建月份列
  • 获取当月的模式
  • 我使用了几种不同的方法来完成所有3个步骤,但尝试获取模式时总是返回类型错误:元组索引必须是整数或切片,而不是str。即使我尝试将“元组”转换为列表或NumPy数组,也会发生这种情况

    我试图从开始时间提取月份的方法:

    df['extracted_month'] = pd.DatetimeIndex(df['Start Time']).month
    df['extracted_month'] = np.asarray(df['extracted_month'])
    df['extracted_month'] = df['Start Time'].dt.month
    
    我尝试获取模式的方式:

    print(df['extracted_month'].mode())
    print(df['extracted_month'].mode()[0])
    print(stat.mode(df['extracted_month']))
    
    尝试使用df.columns.get_loc(“extracted_month”)获取索引,然后在模式代码中替换它会产生相同的错误(TypeError:元组索引必须是整数或切片,而不是str

    我想我应该把df['extracted_month']转换成一个不同的。。。某物这是什么

    注意:我提取的_month列是一个字符串,但您仍然可以从字符串变量中获取模式!我不会改变它,那就是放弃

    编辑:使用以下代码仍然会导致相同的错误

    extracted_month = pd.Index(df['extracted_month'])
    print(extracted_month.value_counts())
    

    该错误可能是由创建数据帧的方式引起的。
    如果dataframe是在另一个函数中创建的,并且该函数随dataframe返回其他内容,但您将其分配给变量df,则df将是一个包含实际dataframe的元组,而不是dataframe本身。

    True!修复了在main()中分配df的方式,解决了以下问题:
    df,city\u filter,month\u filter,day\u filter=加载数据(city\u filter,month\u filter,day\u filter)