DataFrame存为CSV后读取出现额外列与索引变化问题咨询
问题原因解析
- 新增列的本质:用
df.to_csv('Frequency.csv')保存时,pandas默认会把原DataFrame的索引写入CSV的第一列,且不给该列命名。当用pd.read_csv读取时,这一列会被当作普通数据列,pandas自动给它分配Unnamed: 0这类默认列名,因此看起来像是多了一列。 - 索引变化的原因:
pd.read_csv默认会生成新的连续整数索引(从0开始),不会自动将CSV里的原索引列还原为DataFrame的索引,所以读取后的索引和原DataFrame的索引不一致。
解决办法
- 保存时跳过索引写入:
df.to_csv('Frequency.csv', index=False) - 读取时指定原索引列:
pd.read_csv("Frequency.csv", index_col=0)(适用于原索引是CSV第一列的情况)
内容的提问来源于stack exchange,提问作者JK7
相关产品推荐
相关产品推荐

