如果数据看起来像:
Store,Dept,Date,Weekly_Sales,IsHoliday
1,1,2010-02-05,24924.5,FALSE
1,1,2010-02-12,46039.49,TRUE
1,1,2010-02-19,41595.55,FALSE
1,1,2010-02-26,19403.54,FALSE
1,1,2010-03-05,21827.9,FALSE
1,1,2010-03-12,21043.39,FALSE
1,1,2010-03-19,22136.64,FALSE
1,1,2010-03-26,26229.21,FALSE
1,1,2010-04-02,57258.43,FALSE
我想用IsHoliday的值来复制行,我可以做到:
is_hol = df['IsHoliday'] == True
df_try = df[is_hol]
df=df.append(df_try*10)
但是有没有更好的方法可以做到这一点,因为我需要重复5次假日行,如果使用上述方法,我必须附加5次。
你可以把
df_try
放在一个列表中,然后做你想做的事情:这是一个老问题,但由于它仍然在我的谷歌搜索结果中名列前茅,这里有另一种方法。
假设要复制col1=“b”所在的行。
您可以用另一个函数替换列表解释中的
3 if val=="b" else 1
,如果val==“b”则返回3,如果val==“c”则返回4,如此一来,它就相当灵活了。另一种方法是使用concat()函数:
相关问题 更多 >
编程相关推荐