【发布时间】:2020-06-13 22:41:43
【问题描述】:
我试图更好地理解编写 for 循环的列表理解方式,但我仍然对我得到的语义错误感到困惑!
这个是列表推导!
df["year"] = [int(s.split("-")[1]) for i in df["Month"]]
df["month"] = [str(s.split("-")[0]) for i in df["Month"]]
这是正确的我得到的!从90年代到2020年的每一年!我只显示 15 个!
现在我正在尝试用老式的 for 循环方式编写相同的东西!
for i in df['Month']:
df['year'] = int((i.split("-")[1]))
如您所见,我得到的是重复值,而不是第一张图片中从头到尾的所有年份!
【问题讨论】:
-
您似乎在
for循环中设置df['month'],但随后打印出df["year"]。是这个问题吗? -
@Sam 我正在尝试创建一个名为“year”的新列,它从“Month”列中获取年份!还有“月”作为一个新列,它从“月”列中获取月份!这就是我与破折号分开的原因!
-
你能显示你的输入数据框吗?
-
我刚刚编辑了您上面提到的内容,您是对的,是的,我现在向您展示数据框!
-
@Sam 我添加了主 DF!
标签: python loops dataframe list-comprehension