weixin_46617641 2022-04-20 10:21 采纳率: 92.3%
浏览 569
已结题

python怎么把循环得到的列表写入dataframe

问题遇到的现象和发生背景

通过循环得到p,q。结果截图里显示了尝试写入的结果,发现写入的是固定的值而不是每个p,q的值

问题相关代码,请勿粘贴截图
import numpy as np
import pandas as pd
data = pd.read_csv("C:/Users/DELL/Desktop/dt1.csv", header=0, usecols=['v'])
data = np.array(data)

T=[] #定义为列表
V=0   #初始成交量
p=0
p=[]
q=[]
A=326881602  #每个交易篮子的交易量
for i in range(len(data)):
    V=V+data[i]   #迭代,成交量=上一时刻成交量+这一时刻的成交量
    k=np.ceil(V/A)  #对篮子数向上取整
    T.append(k)
    T[i]=k    #第i时刻所需要的篮子数
    p.append(0)
    p[i]=0
    if np.ceil(V/A)-V/A==0:  #篮子数为整数
        p.append(1)
        p[i]=1  # p[i]=1#如果篮子数为整数,那么下一时刻从新的交易篮子开始填充
    q.append(T[i])
    q[0]=[1,T[0]]  #第一个时刻对应的篮子编号
for i in range(len(data)):
    if i>=1:
        q[i] = [T[i - 1] + p[i - 1], T[i]]

print(T)
print(p)
print(q)
print(type(p))
print(type(q))

filepath = 'C:/Users/DELL/Desktop/dt1.csv'
dataheader = ['date','time','v','p','vum']
data_original = pd.read_csv(filepath, sep=',' ,header=0, names=dataheader, skip_blank_lines=True)
print(data_original)
data_original['e']='p'
data_original['q']='[T[i - 1] + p[i -  1], T[i]]'
print(data_original)
运行结果及报错内容

img

img

我想要达到的结果

想把q这个list写进dataframe里应该怎么办

  • 写回答

3条回答 默认 最新

  • ielcome2016 2022-04-20 10:39
    关注

    data_origin['q']赋值语句后面不要用单引号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 海洋可控源和大地电磁一维联合反演
  • ¥15 MFC多文档程序获取视图指针问题
  • ¥20 解体如何编写程序还有运行结果截图
  • ¥15 如何把matlabR2023遗传算法工具箱里面的各类选项对应的代码调出来呢?
  • ¥30 MDIGetActive() 获取活动view
  • ¥15 有数据,如何安装使用CLIP模型检索图片
  • ¥15 lingo代码报错无法运行,如何解决,如果能解决请提供能够运行的lingo代码
  • ¥100 读取 IMU BNO080 数据
  • ¥15 基于RTKLIB框架写的精密单点定位-AR
  • ¥15 PFENet的预训练权重