繁体   English   中英

Python 元组和 memory

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM