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

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

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

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

      悬赏问题

      • ¥15 结构体数组文件读取问题
      • ¥15 写c++代码,第7题说一下使用的计算方法
      • ¥15 postman接口自动化测试报告实践总结
      • ¥15 有关c++的问题,利用相关知识
      • ¥15 求香农编码和解码的matlab代码
      • ¥20 ROS中的TEB局部规划问题
      • ¥20 关于#matlab#的问题:要求测出上面图片中所有同心圆的半径
      • ¥20 epanet软件运行问题
      • ¥15 Python 文件读取
      • ¥60 dpabi进行Alff计算时脑池有干扰信号