我正在尝试仅将数据帧的索引保存到文件中。这是我尝试过的:
一个)
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。
