熊猫的绝对和相对频率

在统计中,术语“频率”表示给定数据样本中某个值的出现次数。作为用于数学和科学分析的软件,Pandas具有许多内置方法可以根据给定样本计算频率。

绝对频率它与计算数据元素出现次数的频率相同。在下面的示例中,我们仅计算城市名称出现在给定DataFrame中的次数,并将其报告为频率。

方法1-我们使用名为.value_counts的熊猫方法。

示例

import pandas as pd
# Create Data Frame
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
# use the method .value_counts()
df = pd.Series(data).value_counts()
print(df)

输出结果

运行上面的代码给我们以下结果-

Pune          3
Chandigarh    2
Hyderabad     1
dtype: int64

方法2-我们使用名为.crosstab的pandas方法

示例

import pandas as pd
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
df = pd.DataFrame(data,columns=["City"])
tab_result = pd.crosstab(index=df["City"],columns=["count"])
print(tab_result)

输出结果

运行上面的代码给我们以下结果-

col_0        count
City
Chandigarh   2
Hyderabad    1
Pune         3

相对频率-这是给定频率与数据样本中观测值总数之间的分数。因此,该值可以是浮点值,也可以表示为百分比。为了找到它,我们首先按照第一种方法所示计算频率,然后将其除以使用该len()函数找到的观测总数。

示例

import pandas as pd
# Create Data Frame
data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"]
# use the method .value_counts()
df = pd.Series(data).value_counts()
print(df/len(data))

输出结果

运行上面的代码给我们以下结果-

Pune 0.500000
Chandigarh 0.333333
Hyderabad 0.166667
dtype: float64