Python.Pandas/:/第一个和第二个代码之间的区别是什么,下面的代码出现了吗?
大家好。 为什么第一个代码中的文件会运行,而第二个代码中的文件会失败Python.Pandas/:/第一个和第二个代码之间的区别是什么,下面的代码出现了吗?,python,pandas,Python,Pandas,大家好。 为什么第一个代码中的文件会运行,而第二个代码中的文件会失败 import pandas SD2=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Sample data1.csv') DF2=pd.DataFrame(SD2) SD3=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Samp
import pandas
SD2=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Sample data1.csv')
DF2=pd.DataFrame(SD2)
SD3=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Sample data2.csv')
DF3=pd.DataFrame(SD3)
SD4=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Sample data3.csv')
DF4=pd.DataFrame(SD4)
SD5=pd.read_csv('C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/Sample data4.csv')
DF5=pd.DataFrame(SD5)(
result = pd.concat([DF1,DF2,DF3,DF4],axis=1, ignore_index=False)
print(result)
result.to_csv("savessssssssdata.csv",index=False)
当您运行第一个文件的代码时,您会看到在该代码上运行的文件被正常保存。
让我给你看第二个代码
import pandas as pd
import serial
import time
SD=[]
DF=[]
for i in range(1,4):
SD1=pd.read_csv('C:/Users/Jangsu/Desktop/Sample
data'+str(i)+".csv")
SD.append(SD1)
DF1=pd.DataFrame(SD1)
DF.append(DF1)
DF1.to_csv('C:/Users/Jangsu/Desktop/Samspsle data'+str(i)+".csv",index=False)
resul=pd.concat([DF],axis=1, ignore_index=False)
print(resul)
resul.to_csv("'C:/Users/Jangsu/Desktop/ssssssscccc.csv",
index=False)
第一个代码充当文件的组合。
第二个代码是将输入DF的代码,DF将读取每个csv文件,然后使用以列表格式存储的代码创建和存储单个数据帧。但第二个代码有以下错误:
Traceback (most recent call last):
File "C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/csv-testss.py", line 14, in <module>
resul=pd.concat([DF],axis=1, ignore_index=False)
File "C:\Users\Jangsu\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\reshape\concat.py", line 225, in concat
copy=copy, sort=sort)
File "C:\Users\Jangsu\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\reshape\concat.py", line 286, in __init__
raise TypeError(msg)
TypeError: cannot concatenate object of type "<class 'list'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
回溯(最近一次呼叫最后一次):
文件“C:/Users/Jangsu/AppData/Local/Programs/Python/Python36-32/csv testss.py”,第14行,在
结果=pd.concat([DF],轴=1,忽略索引=False)
文件“C:\Users\Jangsu\AppData\Local\Programs\Python\Python36-32\lib\site packages\pandas\core\reforme\concat.py”,第225行,在concat中
复制=复制,排序=排序)
文件“C:\Users\Jangsu\AppData\Local\Programs\Python\Python36-32\lib\site packages\pandas\core\reforme\concat.py”,第286行,在\uuu init中__
raise TypeError(msg)
TypeError:无法连接“”类型的对象;只有pd.Series、pd.DataFrame和pd.Panel(已弃用)OBJ有效
两个代码之间的区别是什么?正确的代码是什么?
DF
被定义为一个列表,而[DF]
因此是一个列表列表,不能作为错误状态连接。如果我正确理解了逻辑,以下是您应该做的:
filenames = [
f'C:/Users/Jangsu/Desktop/Sample data{i}.csv'
for i in range(1, 4)
]
df = pd.concat(
map(pd.read_csv, filenames),
axis=1,
ignore_index=False
)
您的第二个示例使用了一个未定义的变量
DD
,首先,我们已经升级了当前代码。但是有一个错误。似乎您只需要pd.concat(DF,…)
而不是[DF]
,那么,我如何组合上面编写的代码使其工作呢@임종훈 你明白我答案中的代码是什么吗?你试过运行它吗?啊哈!我试着看你上传的代码,它工作正常。非常感谢。