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

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 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退