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

pandas读取csv并写入新的一列

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

1.将q写入dataframe的时侯结果怎么变成[1,3]的形式,第二个截图中可以看到写入的是[1,[3]]
2.将dataframe保存到csv文件里的时候,为什么会出现[1, array([3.])](如图3),怎么才能出现[1,3]

问题相关代码,请勿粘贴截图
import numpy as np
import pandas as pd
import csv

from pandas import DataFrame
data = pd.read_csv("C:/Users/DELL/Desktop/dt3.csv", header=0, usecols=['v'])
data = np.array(data)
T=[] #定义为列表
V=0   #初始成交量
h=0
h=[]
τ=[]
A=326881602  #每个交易篮子的交易量
for i in range(len(data)):
    V=V+data[i]   #迭代,成交量=上一时刻成交量+这一时刻的成交量
    k=np.ceil(V/A)  #对篮子数向上取整
    T.append(k)
    T[i]=k    #第i时刻所需要的篮子数
    h.append(0)
    h[i]=0
    if np.ceil(V/A)-V/A==0:  #篮子数为整数
        h.append(1)
        h[i]=1  # p[i]=1#如果篮子数为整数,那么下一时刻从新的交易篮子开始填充
    τ.append(T[i])
    τ[0]=[1,T[0]]  #第一个时刻对应的篮子编号
for i in range(len(data)):
    if i>=1:
        τ[i] = [T[i - 1] + h[i - 1], T[i]]

#将q写入dataframe
filepath = 'C:/Users/DELL/Desktop/dt3.csv'
dataheader = ['date','time','v','p','cum']
data_original = pd.read_csv(filepath, sep=',' ,header=0, names=dataheader, skip_blank_lines=True)
print(data_original)

# data_original['q']=list(q)#也可行
data_original['τ']=τ #添加一列τ,赋值为列表(d),打印
print(data_original)
#完成写入

t=data_original['τ']

#保存
sourceFile='C:/Users/DELL/Desktop/dt3.csv' #person.csv包括id,name,age三个列
df=pd.read_csv(sourceFile,low_memory=False) #读取csv,设置low_memory=False防止内存不够时报警告
df['a']=list(t)
# df['a']='company'#增加新的列company
#以下保存指定的列到新的csv文件,index=0表示不为每一行自动编号,header=1表示行首有字段名称
df.to_csv('C:/Users/DELL/Desktop/dt3.csv',columns=['date','time','v','p','cum','a'],index=0,header=1)
运行结果及报错内容

img

img

img

图1是原文件,图2是新增了τ这一列的结果,图3是将dataframe写入csv以后的结果

我的解答思路和尝试过的方法
我想要达到的结果

将图2[1,[3]]改成[1,3]。
将图3的[1, array([3.])]换成[1,3]

  • 写回答

2条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-21 11:01
    关注

    改成
    τ[0]=[1,int(list(T[0])[0])]

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法