我想做如下的事情:
df['Day'] = df['Day'].apply(lambda x: x + myDict[df['Month']]),
哪里
myDict={2:3,4:1,6:1,9:1,11:1,1:0,3:0,5:0,7:0,8:0,10:0,12:0}.
如果是某个月份,我正在做的就是在该月的某一天添加天数。例如:如果是 2 月,该月的日期是 28,我加 3 得到 31。
但这不起作用,因为我真的想将 myDict 应用于 df['Month'] 的索引,而不是直接应用于 Month 列。
我可以为我的命令内联 iterrows 吗?我认为通过 pandas 执行这会比迭代整个数据帧的大 for 循环执行得更快。
最佳答案
尝试:
df.Day += df.Month.map(myDict)
或者:
因为我不太明白你在做什么
df.Day += df.index.to_series().map(myDict)
关于python - 在 Pandas 列上使用字典吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41601523/