gpt4 book ai didi

python - 将嵌套字典转换为数据帧,其中键作为行名,值中的字典作为列?

转载 作者:行者123 更新时间:2023-12-01 06:30:50 27 4
gpt4 key购买 nike

我有一个由大量频率计数组成的数据框,其中列标签是正在计算的特征,行标签是正在计算的特征的页面。我需要找到每个特征在所有页面上出现的概率,因此我尝试迭代每一列,将每个总和除以所有列的总和,并将结果保存在字典中作为与键对应的值,但没有成功这是从列标签中获取的。

我的数据框看起来像这样:

    |---------|----------|
| Word1 | Word2 |
----|---------|----------|
pg1 | 0 | 1 |
----|---------|----------|
pg2 | 3 | 2 |
----|---------|----------|
pg3 | 9 | 0 |
----|---------|----------|
pg4 | 1 | 6 |
----|---------|----------|
pg5 | 2 | 3 |
----|---------|----------|
pg6 | 0 | 2 |
----|---------|----------|

我希望我的输出是一个字典,其中单词作为键,总和(列)/总和(表)作为值,如下所示:

{ Word1: .517 ,  Word2: .483 }

到目前为止,我已尝试以下操作:

dict = {}
for x in df.sum(axis = 0):
dict[x] = x / sum(df.sum(axis = 0))
print(dict)

但该命令永远不会完成。我不确定我的代码是否做错了,或者我的笔记本电脑是否根本没有能力处理数据集的大小。

有人能指出我正确的方向吗?

最佳答案

看起来您可以获取每列的总和,然后除以 DF 中整个底层数组的总和的平展值,例如:

df.sum().div(df.values.sum()).to_dict()

这会给你:

{'Word1': 0.5172413793103449, 'Word2': 0.4827586206896552}

关于python - 将嵌套字典转换为数据帧,其中键作为行名,值中的字典作为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59921512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com