[英]Python tuple and memory
我有一個奇怪的問題。
我得到一些這樣的數據:
save_last_row = exchange.fetch_ohlcv('BTC/USD', timeframe='1m', limit=2)
save_last_row = pd.DataFrame(save_last_row[:-1],columns=['Date Time', 'Open', 'High', 'Low', 'Close', 'Volume'])
數據如下所示:
Date Time Open High Low Close Volume
0 1640190840000 49075.0 49085.0 49044.0 49071.0 147792.0244
這是一個循環,所以我得到每個循環的最后一行。 奇怪的是,當我這樣做之后:
last_row = save_last_row
last_row = function_convert(last_row)
我為last_row獲得:
Date Time Open High Low Close Volume
0 2021-12-22 17:41:00 49041.0 49073.0 49029.0 49033.0 136169.2562
我們可以看到日期時間的格式不同。 如果我 printf save_last_row (我沒有修改),我有:
Date Time Open High Low Close Volume
0 2021-12-22 17:41:00 49041.0 49073.0 49029.0 49033.0 136169.2562
為什么???? Last_row 僅從 save_last_row 中獲取數據。 如何修改變量 save_last_row ???
注意:function_convert 只是修改一些值:
def conversion_date(df):
df["Date Time"] = df["Date Time"] + 3600000 # add one hour to have local time
df["Date Time"] = (df["Date Time"].apply(parse_dates)) # convert
return df
編輯:變量 last_row 被轉換(好的),但 save_last_row 也,?? (這不行,我沒有轉換它)那為什么?
EDIT2:使用 save_last_row.copy() 謝謝 Chris Doyle
如果我理解正確,您希望時間戳為 integer 而不是日期時間 object。
您的parse_date
function 將 integer 時間戳解析為日期時間 object,其呈現方式不同。 如果您不想進行這種轉換,只需像這樣從您的conversion_date
function 中留下第二行。
def conversion_date(df):
df["Date Time"] = df["Date Time"] + 3600000 # add one hour to have local time
return df
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.