我这里有df2,它是从1月1日到8月26日的一系列值。我创建了一个新的数据框,定义了那里的列,春、夏、秋。我希望将每个季节的每个日期范围内的值移动到新数据框中的相应列中。我犯了这个错误,不知道下一步该怎么办。有人有什么想法吗
'print(df2)
seasons = (pd.DataFrame(columns = ['Winter','Spring','Summer', 'Autumn']))
Sp = df2[pd.date_range(start = '01/01/2020', end = '28/02/2020')]
for value in Sp:
if value >0:
seasons['Winter'].append(value)'
通常,在pandas中构建数据帧时,最好在本机集合(列表、dict、元组)中收集数据,然后在最后将它们转换为数据帧。将单元格或行逐位添加到数据帧的速度很慢
这里出现的具体错误是append仅适用于组合pandas对象
您可以使用
.loc
赋值来执行所描述的操作,但不建议这样做:但是你获取值的方式让我觉得新表在这里没有什么意义
最好在df2中添加一个名为“季节”的新列,根据日期将每行标记为冬季、夏季等。然后您可以使用
groupby('Season')
或query('Season == "Winter"')
逐季提取数据要创建“季节”列,您只需要一个函数来告诉您行所在的季节。我不知道您的表中有什么,我对datetime对象不是很在行,但它的形式是:
然后使用以下内容创建列:
您不必使用索引,您可以使用列,但表单基本相同。只需确保函数是为您传递给它的内容而设计的。您还可以关闭多个列值:
相关问题 更多 >
编程相关推荐