首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法理解.mode()在python中的用法

无法理解.mode()在python中的用法
EN

Stack Overflow用户
提问于 2018-10-26 03:34:42
回答 1查看 814关注 0票数 2

我有一个要求,我需要找出最受欢迎的开始时间。以下是帮助我找到正确解决方案的代码。

import time
import pandas as pd
import numpy as np

# bunch of code comes
# here
# that help in reaching the following steps

df = pd.read_csv(CITY_DATA[selected_city])

# convert the Start Time column to datetime
df['Start Time'] = pd.to_datetime(df['Start Time'])

# extract hour from the Start Time column to create an hour column
df['hour'] = df['Start Time'].dt.hour

# extract month and day of week from Start Time to create new columns
df['month'] = df['Start Time'].dt.month

df['day_of_week'] = df['Start Time'].dt.weekday_name

# find the most popular hour
popular_hour = df['hour'].mode()[0]

以下是我尝试运行此查询时获得的示例o/p

“打印(df‘小时’)”

0         15
1         17
2          8
3         13
4         14
5          9
6          9
7         17
8         16
9         17
10         7
11        17
Name: hour, Length: 300000, dtype: int64

我使用时得到的o/p

打印(类型(df“小时”))

<class 'pandas.core.series.Series'>

最流行的开始小时的值存储在popular_hour中,它等于"17“(这是正确的值)

但是,我不能理解.mode()

这个.mode()做了什么?为什么?

是否可以使用相同的概念来计算热门月份和热门星期几,而不考虑它们的数据类型

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-26 03:38:55

mode返回一个序列:

df.mode()
0    17
dtype: int64

在此基础上,通过调用

df.mode()[0]
17

请注意,总是返回一个Series,有时如果mode有多个值,它们都会被返回:

pd.Series([1, 1, 2, 2, 3, 3]).mode()
0    1
1    2
2    3
dtype: int64

您仍然会每次都取第一个值,并丢弃其余的值。请注意,当返回多个模式时,它们始终是排序的。

有关更多信息,请阅读mode上的文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52996816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档