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日

悬赏问题

  • ¥15 notepad++ 自动补全提示,如输入汉字"人名",就会出现"张三","李四"
  • ¥15 如何用matlab实现PSO算法与两种智能优化算法在30维和50维问题上的性能比较?
  • ¥15 在qt的QGraphicsView和QGraphicsScene中遇到的问题
  • ¥50 如何完美解决谷歌礼品卡支付不被检测
  • ¥15 nslt的可用模型,或者其他可以进行推理的现有模型
  • ¥15 arduino上连sim900a实现连接mqtt服务器
  • ¥15 vncviewer7.0安装后如何正确注册License许可证,激活使用
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并2
  • ¥66 关于人体营养与饮食规划的线性规划模型
  • ¥15 基于深度学习的快递面单识别系统