簡體   English   中英

Python.Pandas /://第一和第二代碼之間有什么區別,因此以下代碼發生了嗎?

[英]Python.Pandas/:/What is the difference between the first and second codes, so did the following code occur?

每一個人。 為什么第一個代碼中的文件運行而第二個代碼中的文件失敗?

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中的代碼,它將讀取每個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

兩種代碼有什么區別,正確的代碼是什么?

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
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM