我想计算计算机中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次”
我希望我想解决这个问题。谢谢。
答案 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()