[英]data frame to file.txt python
我有這個數據框
X Y Z Value
0 18 55 1 70
1 18 55 2 67
2 18 57 2 75
3 18 58 1 35
4 19 54 2 70
我想將它保存為這種格式的文本文件
X Y Z Value
18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70
我試過這段代碼,但沒有用:
np.savetxt('xgboost.txt', a.values, delimiter ='\t')
TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e %.18e %.18e')
CSV表示逗號分隔值。 它是純文本 (ansi)。
TXT 並不是真正的文件格式,它在不同的上下文中可能意味着多種含義。 通常,您以 CSV(逗號分隔值)或 TSV(制表符分隔值)格式導出表格。 您應該選擇哪個主要取決於您的數據:如果您的數據中有逗號但沒有制表符,您應該選擇 TSV。
您不必使用np.savetxt()
。 您可以使用df_object.to_csv()
實現它
像這樣做:
df_object.to_csv('xgboost.txt', sep='\t', index=False)
這幾乎是以下內容的完全重復:
Python,Pandas:將 DataFrame 的內容寫入文本文件
我在這里再次報告引用的 SO 問題的答案,並進行了一些非常小的修改以適應這種情況。
您可以使用兩種方法。
np.savetxt() ,在這種情況下,您應該具有以下內容:
np.savetxt('xgboost.txt', a.values, fmt='%d', delimiter="\t", header="X\tY\tZ\tValue")
假設a
是數據幀。 當然,您可以更改所需的分隔符(制表符、逗號、空格等)。
另一種選擇,如我所附的答案和@MYGz 的答案中所述,是使用to_csv方法,即:
a.to_csv('xgboost.txt', header=True, index=False, sep='\t', mode='a')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.