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

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条回答 默认 最新

相关推荐 更多相似问题