Skip to main content
 首页 » 编程设计

python之将 Pandas 数据帧索引保存到文件

2025年05月04日17sxdcgaq8080

我正在尝试仅将数据帧的索引保存到文件中。这是我尝试过的:

一个)

np.savetxt("file_name", df.index.values) 

返回:

TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e') 

B)

df.index.values.tofile("file_name") 

返回:

IOError: cannot write object arrays to a file in binary mode 

C)

with open("file_name","w") as f: 
    f.write("\n".join(df_1_indexes.values.tolist())) 

有人可以解释为什么 A) 和 B) 失败了吗?我不知所措。

干杯

请您参考如下方法:

A) 中的错误可能是因为您的索引中有字符串或其他类型的 object。 np.savetxt 中的默认格式说明符似乎假定数据是 float-like。我通过设置 fmt='%s' 解决了这个问题,尽管它可能不是一个可靠的解决方案。

B) 使用 Index 和 MultiIndex 的一些基本示例对我来说没有产生任何错误。您的错误可能是由于索引中元素的特定类型所致。

请注意,有一种更简单、更可靠的方法可以只保存索引。您可以设置 to_csv 的 columns 参数作为一个空列表,它将抑制输出中的所有列:

df.to_csv('file_name', columns=[], header=False) 

如果您的索引有一个名称并且您希望该名称出现在输出中(类似于列名称的显示方式),请从上面的代码中删除 header=False。