我想从两个文本文件中减去多列数据。文本文件包含6列,这些列不是named.So --I将其命名为No、X、Y、Z、Date、Time,并以逗号分隔。我想表演X-X1,Y-Y1,Z-Z1。日期和时间不重要,仅供参考。为此,我用不同的dataframe打开了文件,我使用了concat,然后我生成了另一个csv文件,其中包含来自单个CSV文件中两个文本文件的数据。现在,当我减去X-X1、Y-Y1、Z-Z1列时,我得到了以下错误:“没有定义名称'X‘”,也得到了以下错误: AttributeError:'tuple’对象在试图生成名为"difference.csv“的文件时没有属性' to _csv‘。请帮我解决这个错误。下面是我的密码。
import pandas as pd
import os
import numpy as np
df1 = pd.read_csv('D:\\Work\\Data1.txt', names=['No1','X1','Y1','Z1','Date1','Time1'], sep='\s+')
df2 = pd.read_csv('D:\\Work\\Data19.txt', names=['No','X','Y','Z','Date','Time'], sep='\s+')
total=pd.concat([df1,df2], axis=1)
total.to_csv("merge.csv")
cols = ['X','Y','Z','X1','Y1','Z1']
print(total)
df3 = pd.read_csv('C:\\Users\\Admin\\PycharmProjects\\project1\\merge.csv')
df4[X,Y,Z] = df3[X,Y,Z]-df3[X1,Y1,Z1]
print(df4)
df4.to_csv("difference.csv")发布于 2022-09-18 16:35:39
这样修改你的代码怎么样?
df1 = pd.read_table('D:\\Work\\Data1.txt', names=['No1','X1','Y1','Z1','Date1','Time1'], sep='\s+')
df2 = pd.read_table('D:\\Work\\Data19.txt', names=['No','X','Y','Z','Date','Time'], sep='\s+')
total.to_csv('merge.zip', index = False)
另外,我认为由下面的代码生成的数据框架的索引是
total=pd.concat([df1,df2], axis=1) ['No1','X1','Y1','Z1','Date1','Time1','No','X','Y','Z','Date','Time']
我希望我的回答是有帮助的
发布于 2022-09-18 18:15:24
尝尝这个
df3["X2"] = df3["X"]-df3["X1"]
df3["Y2"] = df3["Y"]-df3["Y1"]
df3["Z2"] = df3["Z"]-df3["Z1"]
df4 = df3.loc[:, ["X2", "Y2", "Z2"]
df4 = df4.rename(columns={"X2": "X", "Y2": "Y", "Z2": "Z"}) #optional
df4.to_csv("difference.csv")https://stackoverflow.com/questions/73764254
复制相似问题