我想标准化我的数据框,使其在精确的日期开始和结束,但是我找不到解决方案... 我正在处理时间序列,因此至关重要的是,我必须在同一天开始和结束所有事情。
我尝试了几段代码,包括来自stackvoerflow的代码,但没有任何效果。
现在我只想要2010年1月1日至2017年12月31日之间的行,这是我到目前为止的代码:
(base) Organic:django_project organic$
但这不会影响行数,只会删除我要求的列。
有人对如何解决此问题有任何想法吗?
在此先感谢您可以给我的任何建议!
答案 0 :(得分:1)
好的,感谢@RafaelC,这是我的问题的答案。
def concatenate(indir="../Equity_Merton", outfile = "../Merged.csv"):
os.chdir(indir)
fileList = glob.glob("*.csv")
ticker = []
main_df = pd.DataFrame()
for filename in fileList:
print(filename)
df=pd.read_csv(filename, sep = ";")
ticker.append(df)
df["Date"] = pd.to_datetime(df['Date'])
df = df[(df.Date <= '2017-12-31') & (df.Date >= '2010-01-01')]
df.set_index("Date", inplace=True)
df.rename(columns = {"Close": filename[0:len(filename) - 4]}, inplace = True)
df.drop(["Open","High","Low","Volume","Open interest"],axis = 1, inplace=True)
if main_df.empty:
main_df = df
else:
main_df = main_df.join(df, how='outer')
# main_df = main_df.dropna(axis = 0, how="any")
main_df.sort_index(axis=0, level=None, ascending=False, inplace=True, kind='quicksort', na_position='last')
print(main_df.head())
main_df.to_csv('Merton_Merged.csv')
shutil.move("Merton_Merged.csv", "../Merton_Merged.csv")
谢谢您的帮助!