pandas可以读写如下格式的数据类型:
具体详见:http://pandas.pydata.org/pandas-docs/version/0.20/io.html
读取csv文件
我们准备了一个csv文件,格式类似为:
要读取此csv文件,方法为:
import pandas as pd
import numpy as np
data = pd.read_csv("D:\data\location.csv", encoding="GB2312")
print("data:")
print(data)
输出为:
data:
城市 小区数量 行政区 道路 门牌号 建筑年代 经度坐标 纬度坐标 开发商 平均单价 平均租金
0 包头市 1388 100 99.27 20.68 11.16 99.85 99.85 26.15 95.89 80.40
1 北京市 16194 100 99.97 50.58 67.96 99.79 99.79 57.66 98.16 94.94
2 滨州市 1765 100 99.37 28.90 0.00 76.65 76.65 7.42 95.86 50.59
3 亳州市 249 100 99.59 5.62 0.00 90.36 90.36 29.31 96.38 53.41
4 常州市 2405 100 100.00 46.90 46.32 99.41 99.41 62.82 95.01 88.93
5 成都市 12660 100 99.92 85.49 60.39 99.88 99.88 50.34 98.94 94.32
6 东莞市 2493 100 100.00 20.78 62.49 98.43 98.43 71.11 98.75 89.81
7 东营市 709 100 98.16 9.87 2.25 93.08 93.08 15.09 94.64 65.16
8 佛山市 4945 100 99.81 54.18 19.81 99.53 99.53 30.05 93.73 88.55
9 福州市 3622 100 99.94 79.65 75.06 99.86 99.86 65.18 98.28 94.97
这里我第一次尝试运行时,由于没有设置正确的encoding导致出错,大家如果发生出错可以看下csv的编码格式,到底是UTF-8的还是GB2312的。
存储
存储的方法也比较简单,用to_xxx的函数,其中xxx用相应的格式代替就可以。
比如,我们调用to_pickle函数来存储成pickle格式的数据,其中pickle格式有点类似JAVA中序列化后的文件,也就是python内部定义的格式文件。
代码很简单:
data.to_pickle("d:\data\location.pickle")
这样在对应的磁盘上就生成了location.pickle文件,我们用编辑器打开看一下:
一堆看不懂的乱码:)。
下次如果想要读取这个pickle文件,也很简单,方法如下:
import pandas as pd
import numpy as np
data = pd.read_pickle("D:\data\location.pickle")
print("data:")
print(data)
输出为:
data:
城市 小区数量 行政区 道路 门牌号 建筑年代 经度坐标 纬度坐标 开发商 平均单价 平均租金
0 包头市 1388 100 99.27 20.68 11.16 99.85 99.85 26.15 95.89 80.40
1 北京市 16194 100 99.97 50.58 67.96 99.79 99.79 57.66 98.16 94.94
2 滨州市 1765 100 99.37 28.90 0.00 76.65 76.65 7.42 95.86 50.59
3 亳州市 249 100 99.59 5.62 0.00 90.36 90.36 29.31 96.38 53.41
4 常州市 2405 100 100.00 46.90 46.32 99.41 99.41 62.82 95.01 88.93
5 成都市 12660 100 99.92 85.49 60.39 99.88 99.88 50.34 98.94 94.32
6 东莞市 2493 100 100.00 20.78 62.49 98.43 98.43 71.11 98.75 89.81
7 东营市 709 100 98.16 9.87 2.25 93.08 93.08 15.09 94.64 65.16
8 佛山市 4945 100 99.81 54.18 19.81 99.53 99.53 30.05 93.73 88.55
9 福州市 3622 100 99.94 79.65 75.06 99.86 99.86 65.18 98.28 94.97