pandas保存文件

1、使用DataFrame的to_csv函数保存文件

在使用DataFrame的to_csv保存文件的时候,会默认使用逗号作为分隔符,如果没有设置行列索引,也没有禁用行列索引保存的话,保存文件的时候,会默认加上由0开始的行列索引。

    data = pd.DataFrame(np.arange(9).reshape(3, 3))
    data.to_csv("data.csv")
data.csv

,0,1,2
0,0,1,2
1,3,4,5
2,6,7,8

通过设置to_csv函数的sep参数可以修改默认保存文件时候的分隔符

    data = pd.DataFrame(np.arange(9).reshape(3, 3))
    #通过sep参数设置保存文件的分隔符
    data.to_csv("data.csv",sep="-")
data.csv
-0-1-2
0-0-1-2
1-3-4-5
2-6-7-8
需要注意的是,因为csv文件使用逗号作为分隔符的,上面的文件格式是我用文本编辑器打开的,如果用excel打开data.csv的时候,它不会是每一个数一个格子,而是都在一个格子里面。

2、保存文件不保存行列索引

a、设置行列索引

    #通过index参数设置行索引,通过columns参数设置列索引
    data = pd.DataFrame(np.arange(9).reshape(3, 3),index=["a","b","c"],columns=["one","two","three"])
    data.to_csv("data.csv")
data.csv
,one,two,three
a,0,1,2
b,3,4,5
c,6,7,8
b、保存文件时不保存行列索引

    data = pd.DataFrame(np.arange(9).reshape(3, 3))
    #index参数设置为False表示不保存行索引,header设置为False表示不保存列索引
    data.to_csv("data.csv",index=False,header=False)
data.csv

0,1,2
3,4,5
6,7,8

3、空值的保存

pandas在保存文件的时候,默认会将缺失值保存成空字符串

    data = pd.DataFrame([[1,np.nan,None],[2,None,3],[5,np.nan,6]])
    #不保存行索引和列索引
    data.to_csv("data.csv",index=False,header=False)
data.csv

1,,
2,,3.0
5,,6.0
通过na_rep参数指定字符串来替代空字符串

    data = pd.DataFrame([[1,np.nan,None],[2,None,3],[5,np.nan,6]])
    #不保存行索引和列索引,使用NULL来替代空字符串
    data.to_csv("data.csv",index=False,header=False,na_rep="NULL")
data.csv

1,NULL,NULL
2,NULL,3.0
5,NULL,6.0









你可能感兴趣的:(pandas修炼之路,pandas入门教程)