簡體   English   中英

將pandas數據幀保存到csv文件時的附加列

[英]additional column when saving pandas data frame to csv file

這里是處理和保存csv文件的代碼,以及原始輸入csv文件和輸出csv文件,在Python 2.7上使用pandas並想知道為什么在保存文件時會有一個額外的列? 謝謝。

c_a,c_b,c_c,c_d
hello,python,pandas,0.0
hi,java,pandas,1.0
ho,c++,numpy,0.0

sample = pd.read_csv('123.csv', header=None, skiprows=1,
    dtype={0:str, 1:str, 2:str, 3:float})
sample.columns = pd.Index(data=['c_a', 'c_b', 'c_c', 'c_d'])
sample['c_d'] = sample['c_d'].astype('int64')
sample.to_csv('saved.csv')

這是保存的文件,開頭有一個附加列,其值為0, 1, 2

cat saved.csv
,c_a,c_b,c_c,c_d
0,hello,python,pandas,0
1,hi,java,pandas,1
2,ho,c++,numpy,0

附加列對應於數據幀的索引,並在讀取CSV文件后進行聚合。 您可以使用此索引以有效的方式對DF進行切片,選擇或排序。

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.html

http://pandas.pydata.org/pandas-docs/stable/indexing.html

如果要避免使用此索引,可以在使用函數pd.to_csv保存數據pd.to_csv時將index標志設置為False 此外,您要刪除標題並稍后將其聚合,但您可以使用CSV標題來避免此步驟。

sample = pd.read_csv('123.csv', dtype={0:str, 1:str, 2:str, 3:float})
sample.to_csv('output.csv', index= False)

希望能幫助到你 :)

暫無
暫無

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

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