如何使用python pandas计算数值的频率

时间:2017-12-05 05:32:52

标签: python python-3.x pandas

我想计算计算机中csv数据的数值频率。 我试过这段代码:

import pandas as pd
data = pd.read_csv("C:/address.csv")
df=pd.DataFrame(data==data)
df.apply(pd.value_counts)

我尝试使用'value_counts',但我不知道如何应用它。

我想要的结果是 在一行“数字(从1到50):n次”

我希望我想解决这个问题。谢谢。

3 个答案:

答案 0 :(得分:1)

你是否已经在尝试:

df['column name'].value_counts()

答案 1 :(得分:0)

您可以使用cumcount()功能。

df['number_count'] = df.groupby('col_of_interest').cumcount()

答案 2 :(得分:0)

groupby与count一起不给出唯一值的频率。

尝试使用带有组的大小来获取具有频率的唯一值

Dataframe.groupby('column_name').size()

为了加快计算速度,如果您的数据框具有相同类型的值, 您可以使用;

index, counts = np.unique(df.values,return_counts=True)

如果您的值都是整数,请尝试使用np.bincount()