我想寫一個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