python - 在 Pandas 列上使用字典吗?

标签 python pandas dictionary lambda

我想做如下的事情:

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/

相关文章:

python - 打印随机文本中的计数(单词出现次数)(Print hackerearth)

python - 创建一个以特定斜率改变方程的函数,可用于 curve_fit

python - 查找月中两个日期时间之间的差异

python - pandas.read_excel 参数 "sheet_name"不工作

python - 使用掩码为 numpy ndarray 设置值

swift - 在 Swift 字典扩展中检查 nil 值

python - matplotlib - 如何指定 x 轴的比例

python - 将列表字典转换为键值对列表的有效方法

dictionary - 在 Erlang 的字典中存储字典

python - 将忽略 pandas 数据框插入 mysql