A).从全局df(Pardon Dataframe)获得真实数据. B).将数据更新为临时DCT(Gd_Tick_G1). C).扩展列表

问:为什么函数只扩展相同的数据(最后一个循环数据)? 谢谢.

global df, gl_price_vol

gd_tick_g1 =  {'AmountSum': [2116248500.0], 'Close': [50.1], 'Date': '2022/10/07', 'TickType': [2], 'Time': '09:11:41.107750', 'VolSum': [60000], 'Volume': [9]}
   
lens = len(df)
print(lens)

for i in range(lens-1, -1, -1):
    #(lens-1)~0, ex.lens=10, 9~0
            
    gl_price_vol.extend([2498])                 

    tick_type = df.iat[i,5] + df.iat[i,6]
    if tick_type == (-1):
        tick_type = 2

    gd_tick_g1['AmountSum'] = [i]            #test
    gd_tick_g1['Close'] = df.iat[i,3]        #d1
    gd_tick_g1['Date'] = '2022/10/07'
    gd_tick_g1['TickType'] = [tick_type]     #d2
    gd_tick_g1['Time'] = '09:11:41.107750'
    gd_tick_g1['VolSum'] = 60000
    gd_tick_g1['Volume'] = [df.iat[i,4]]     #d3
    #print(gd_tick_g1)                            #confime:update ok!
    gl_price_vol.extend({gd_tick_g1.values()})    #question: only extend the same data (the last loop data)

[2498, Dict_values([[0],49.05,‘2022/10/07’,[2],‘09:11:41.107750’,60000,[147]]);

2498, DICT_VALUES([[0],49.05,‘2022/10/07’,[2],‘09:11:41.107750’,60000,[147]),...

(所有相同的最后循环数据) ]

推荐答案

这是因为所有dict_values个对象都引用了相同的dict个对象gd_tick_g1.

为什么要添加一个dict_values对象,而不是它的元素?您可以像这样添加它的元素.

gl_price_vol.extend(gd_tick_g1.values())

如果您真的想要添加这些元素的集合,可以这样做,例如.

gl_price_vol.append(list(gd_tick_g1.values()))

Python相关问答推荐

当多个值具有相同模式时返回空

根据在同一数据框中的查找向数据框添加值

有症状地 destruct 了Python中的regex?

如何记录脚本输出

为什么这个带有List输入的简单numba函数这么慢

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

如何在WSL2中更新Python到最新版本(3.12.2)?

使用Python更新字典中的值

mypy无法推断类型参数.List和Iterable的区别

如何保持服务器发送的事件连接活动?

通过ManyToMany字段与Through在Django Admin中过滤

matplotlib + python foor loop

并行编程:同步进程

Beautifulsoup:遍历一个列表,从a到z,并解析数据,以便将其存储在pdf中.

如何强制向量中的特定元素在Gekko中处于优化解决方案中

Python Mercury离线安装

如果不使用. to_list()[0],我如何从一个pandas DataFrame中获取一个值?

如何从数据框列中提取特定部分并将该值填充到其他列中?

用LAKEF划分实木地板AWS Wrangler

将时间序列附加到数据帧