将pandas.series.value_计数返回的序列转换为字典

2024-09-30 14:16:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用pandas.Series.value_counts来获取数据帧中值的频率,因此我遍历每一列并获取值_count,这给了我一个系列:

我正在努力将这个结果系列转换为dict:

 groupedData = newData.groupby('class')
for k, group in groupedData:
    dictClass[k] = {}
    for eachlabel in dataLabels:
        myobj = group[eachlabel].value_counts()
        for eachone in myobj:
            print type(myobj)
            print myobj

The snippet

我需要的是一份口述:

{'high': 3909 , 'average': 3688, 'less': '182 , 'veryless' : 62}

Tags: inpandasforvaluecountgroupdict频率
2条回答

如果要将Series转换为dict,可以调用dict.to_dict()

>>> s
high        3909
average     3688
less         182
veryless      62
dtype: int64
>>> type(s)
<class 'pandas.core.series.Series'>
>>> dict(s)
{'high': 3909, 'average': 3688, 'veryless': 62, 'less': 182}
>>> s.to_dict()
{'high': 3909, 'average': 3688, 'veryless': 62, 'less': 182}

从_列中提取字典的键和值,然后将其压缩在一起

values = df['your_column'].value_counts(dropna=False).keys().tolist()
counts = df['your_column'].value_counts(dropna=False).tolist()
value_dict = dict(zip(values, counts))

相关问题 更多 >

    热门问题