如何在Python中从另一个字典复制唯一键和值

金融统计局

我有一个df带有事务的数据框,其中的列中的值Col可以重复。我使用Counterdictionary1来计数每个Col的频率,然后我想对数据的一个子集运行一个for循环并获取一个值pit我想创建一个新字典dict1,其中的键是键,dictionary1而值是的值pit这是我到目前为止的代码:

dictionary1 = Counter(df['Col'])
dict1 = defaultdict(int)

for i in range(len(dictionary1)):       
    temp = df[df['Col'] == dictionary1.keys()[i]]
    b = temp['IsBuy'].sum()
    n = temp['IsBuy'].count()
    pit = b/n
    dict1[dictionary1.keys()[i]] = pit

我的问题是,如何dict1根据的键dictionary1和从的计算获得的值来分配键和值pit换句话说,在上述脚本中编写最后一行代码的正确方法是什么。

谢谢你。

帝斯曼

由于您正在使用pandas,所以我应该指出,您面临的问题很常见,因此有内置的方法可以解决。我们称将“相似”数据收集到组中,然后对它们执行groupby操作。阅读有关groupbysplit-apply-combine习语的教程部分时可能会很烦恼-您可以做很多整洁的事情!

计算pit的可恶方法类似于

df.groupby("Col")["IsBuy"].mean()

例如:

>>> # make dummy data
>>> N = 10**4
>>> df = pd.DataFrame({"Col": np.random.randint(1, 10, N), "IsBuy": np.random.choice([True, False], N)})
>>> df.head()
   Col  IsBuy
0    3  False
1    6   True
2    6   True
3    1   True
4    5   True
>>> df.groupby("Col")["IsBuy"].mean()
Col
1      0.511709
2      0.495697
3      0.489796
4      0.510658
5      0.507491
6      0.513183
7      0.522936
8      0.488688
9      0.490498
Name: IsBuy, dtype: float64

如果您坚持要把它变成系列的字典,可以:

>>> df.groupby("Col")["IsBuy"].mean().to_dict()
{1: 0.51170858629661753, 2: 0.49569707401032703, 3: 0.48979591836734693, 4: 0.51065801668211308, 5: 0.50749063670411987, 6: 0.51318267419962338, 7: 0.52293577981651373, 8: 0.48868778280542985, 9: 0.49049773755656106}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过使用另一个字典键和值构造一个字典

来自分类Dev

将字典中的键复制到另一个字典

来自分类Dev

使用键,一个字典中的值来获取python中另一个字典中的值

来自分类Dev

如何遍历字典中的键并与另一个字典中的键/值匹配

来自分类Dev

将字典的前2个最大键和值放在另一个字典中

来自分类Dev

如何在一个字典中找到在另一个字典中没有对应项的键?

来自分类Dev

从一个字典的键和另一个字典的值构建一个新字典

来自分类Dev

将键/值从一个字典复制到另一个

来自分类Dev

如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

来自分类Dev

如何映射键,在另一个字典中查找键?

来自分类Dev

如何根据python中另一个字典键的匹配来修改字典中的键值列表?

来自分类Dev

如果另一个字典中存在项(键和值),则从它们中删除

来自分类Dev

如何在python上制作一个字典在另一个字典中以及在另一个字典中

来自分类Dev

创建一个值与另一个字典中的键相同的字典

来自分类Dev

使用Python将1个字典的值与另一个字典的键匹配

来自分类Dev

Python在键中过滤字典的唯一值并创建另一个过滤的字典

来自分类Dev

如何从字典数组中获取字典的数组(例如arrayGroupBy),其中某个键的值与另一个字典键的值匹配

来自分类Dev

如何从另一个字典中减去一个字典的值并将结果写入第三个字典?

来自分类Dev

如何在python中以唯一键和多个值将输出作为字典返回?

来自分类Dev

如何创建一个字典来显示另一个字典的哪些值属于哪些键

来自分类Dev

如何从另一个 python 字典中获取一个字典中的相应列表值,其中它们被列为键,比较并打印出一个 csv?

来自分类Dev

识别一个字典中的键,并使用它来修改另一个字典的值

来自分类Dev

用另一个字典的键替换字典的值

来自分类Dev

用另一个字典的键替换字典的值

来自分类Dev

在Python的同一键中将字典值除以另一个值

来自分类Dev

比较两个字典的键,并创建一个包含键,值对的字典,该值对与另一个字典中的键不匹配-Python

来自分类Dev

将一个字典中的值与 Python 中另一个字典中的值进行比较

来自分类Dev

如何针对另一个字典键/值匹配查询嵌套对象字典

来自分类Dev

根据同一个字典中的另一个值python设置的值

Related 相关文章

  1. 1

    通过使用另一个字典键和值构造一个字典

  2. 2

    将字典中的键复制到另一个字典

  3. 3

    使用键,一个字典中的值来获取python中另一个字典中的值

  4. 4

    如何遍历字典中的键并与另一个字典中的键/值匹配

  5. 5

    将字典的前2个最大键和值放在另一个字典中

  6. 6

    如何在一个字典中找到在另一个字典中没有对应项的键?

  7. 7

    从一个字典的键和另一个字典的值构建一个新字典

  8. 8

    将键/值从一个字典复制到另一个

  9. 9

    如何根据一个字典在 Python 中查询另一个字典的值来修改或创建字典

  10. 10

    如何映射键,在另一个字典中查找键?

  11. 11

    如何根据python中另一个字典键的匹配来修改字典中的键值列表?

  12. 12

    如果另一个字典中存在项(键和值),则从它们中删除

  13. 13

    如何在python上制作一个字典在另一个字典中以及在另一个字典中

  14. 14

    创建一个值与另一个字典中的键相同的字典

  15. 15

    使用Python将1个字典的值与另一个字典的键匹配

  16. 16

    Python在键中过滤字典的唯一值并创建另一个过滤的字典

  17. 17

    如何从字典数组中获取字典的数组(例如arrayGroupBy),其中某个键的值与另一个字典键的值匹配

  18. 18

    如何从另一个字典中减去一个字典的值并将结果写入第三个字典?

  19. 19

    如何在python中以唯一键和多个值将输出作为字典返回?

  20. 20

    如何创建一个字典来显示另一个字典的哪些值属于哪些键

  21. 21

    如何从另一个 python 字典中获取一个字典中的相应列表值,其中它们被列为键,比较并打印出一个 csv?

  22. 22

    识别一个字典中的键,并使用它来修改另一个字典的值

  23. 23

    用另一个字典的键替换字典的值

  24. 24

    用另一个字典的键替换字典的值

  25. 25

    在Python的同一键中将字典值除以另一个值

  26. 26

    比较两个字典的键,并创建一个包含键,值对的字典,该值对与另一个字典中的键不匹配-Python

  27. 27

    将一个字典中的值与 Python 中另一个字典中的值进行比较

  28. 28

    如何针对另一个字典键/值匹配查询嵌套对象字典

  29. 29

    根据同一个字典中的另一个值python设置的值

热门标签

归档