目录
- Datawhale课程链接:链接
- 参考教材:《Python for Data Analysis》
1 数据载入
1.1 载入数据
- 相对路径: 相对于当前文件来说,要选择的文件的位置
- 绝对路径:针对电脑来说,目标文件的位置
# 绝对位置 df=pd.read_csv('C:\Users\YG小白\DW数据分析学习\train.csv')# 报错 # SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes
- 原因:在windows系统当中读取文件路径可以使用\,但是在python字符串中\有转义的含义
- 方法:在路径前面加r,即保持字符原始值的意思
df=pd.read_csv(r'C:\Users\YG小白\DW数据分析学习\train.csv')
使用
os.getcwd()
查看当前工作目录,记住要提前导入OS
1.2 read_csv和read_table的区别
- read_csv:从文件读取分隔好的数据,默认分隔符是逗号。即是将每个元素作为一列存储
df1=pd.read_csv('train.csv',nrows = 3) print("pd.read_csv读取数据行列数为:",df1.shape) # pd.read_table读取数据行列数为: (3, 12)
- read_table:从文件读取分隔好的数据,默认分隔符是制表符(‘\t’),即以行为单位进行分隔。即是将每行所有的元素作为一个维度存储在一起,因此只有一列
df2 = pd.read_table('train.csv',nrows = 3)#只读取3行数据 print("pd.read_table读取数据行列数为:",df2.shape) # pd.read_table读取数据行列数为: (3, 1)
- 若想用read_table读取出read_csv的效果,设置
sep = ','
即可pandas.read_table(数据文件名, sep=’\t’, header=’infer’) pandas.read_csv(数据文件名, sep=’,’, header=’infer’
1.3 逐块读取
- 原理:将数据分成小块按块读入,得到的对象指向了多个分块对象,但并没有将实际数据先读入,而是在提取数据时才将数据提取进来。可减少内存的存储与计算资源
- chunker(数据块)是什么类型?
chunker = pd.read_csv('train.csv', chunksize=400) #指定 `chunkersize`参数作为每一块的行数 print(type(chunker)) # TextParser for piece in chunker: print(type(piece)) print(len(piece))
<