我想写一个python脚本来检查是否有缺失的一天。如果有的话,应该从最新的一天拿走价格,并创造一个新的数据日。我的意思是如下所示。我的数据在CSV文件中。任何想法如何做到?如何自动将数据添加到历史股票价格中缺失的日子?
前:
MSFT,5-Jun-07,259.16
MSFT,3-Jun-07,253.28
MSFT,1-Jun-07,249.95
MSFT,31-May-07,248.71
MSFT,29-May-07,243.31
后:
MSFT,5-Jun-07,259.16
MSFT,4-Jun-07,253.28
MSFT,3-Jun-07,253.28
MSFT,2-Jun-07,249.95
MSFT,1-Jun-07,249.95
MSFT,31-May-07,248.71
MSFT,30-May-07,243.31
MSFT,29-May-07,243.31
我的解决办法:
import pandas as pd
df = pd.read_csv("path/to/file/file.csv",names=list("abc")) # read string as file
cols = df.columns # store column order
df.b = pd.to_datetime(df.b) # convert col Date to datetime
df.set_index("b",inplace=True) # set col Date as index
df = df.resample("D").ffill().reset_index() # resample Days and fill values
df = df[cols] # revert order
df.sort_values(by="b",ascending=False,inplace=True) # sort by date
df["b"] = df["b"].dt.strftime("%-d-%b-%y") # revert date format
df.to_csv("data.csv",index=False,header=False) #specify outputfile if needed
print(df.to_string())
我有csv文件中的数据。有没有简单的方法来转换此解决方案从csv获取数据? – wahtdbogh
是的,我试过了,但我得到了'提高ValueError(“未知字符串格式”) ValueError:未知字符串格式' – wahtdbogh
我添加了示例CSV文件到更新的问题。 – wahtdbogh