Python 3.x Python:如何从datetime列中提取的月份列中获取模式?
我是新手!正在执行我的第一个Python项目。:)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['
我的任务是:
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)