gpt4 book ai didi

python - 使用python访问函数内部的字典

转载 作者:行者123 更新时间:2023-11-28 20:58:52 25 4
gpt4 key购买 nike

所以我遇到的问题是,我不确定如何在函数内调用字典。

>>> play = pd.DataFrame(play)
>>> play
No Yes
0 Wednesday Monday
1 Thursday Tuesday
2 Saturday Friday
>>> days = 'Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'

>>> newdict = {}
>>> numbincrease = 0
>>> for i in days:
newdict[i] = numbincrease
numbincrease = numbincrease + 1


>>> print(newdict)
{'Monday': 0, 'Tuesday': 1, 'Wednesday': 2, 'Thursday': 3, 'Friday': 4, 'Saturday': 5}

所以我想将天数转换为数字,输出应该能够遍历所有列和所有行并读取字典并替换为程序中使用的字典中的适当值。输出应该是这样的,

>>> play
No Yes
0 2 0
1 3 1
2 5 4

我找了很多方法,但似乎都不行。我不知道如何调用函数来遍历每一列并将调用字典应用于该值并继续下一行或下一列。请帮忙,谢谢

最佳答案

pd.DataFrame.applymap可用于将函数应用于数据框中的每个值。在这种情况下,合适的函数是 dict.get

请注意,如下所示,您可以使用带有 enumerate 的字典推导式有效地将天数映射到整数。

days = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')

daymap = {v: k for k, v in enumerate(days)}

res = df.applymap(daymap.get)

print(res)

No Yes
0 2 0
1 3 1
2 5 4

关于python - 使用python访问函数内部的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965308/

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