Python自带的pandas是深度学习最常用的库之一,在深度学习中经常用来读取标签文本数据,作为深度学习入门,只需要掌握读文件、索引、存文件即可,其他在深度学习中不是很常用,等要用到的时候看看函数API就行。
1 读文件
读文件一般常用的是pd.read_csv()、pd.read_excel()两种,分为对应csv/txt、excel格式的文件,下面以read_csv()为例,说明其用法。
import pandas as pd
#一般csv、TXT文件为逗号或空格分隔,根据需要设置
data = pd.read_csv("./test1.txt", sep=' ') #以空格为分隔符读取文件至pandas表格中,其他默认
常设置的形参解释如下表所示:
形参 | 解释 |
---|---|
header | 指定第几行作为列名(忽略注解行),如果没有指定列名,默认header=0; 如果指定了列名header=None |
index_col | 默认为None 用列名作为DataFrame的行标签,如果给出序列,则使用MultiIndex。如果读取某文件,该文件每行末尾都有带分隔符,考虑使用index_col=False使panadas不用第一列作为行的名称。 |
dtype | 例子: {‘a’: np.float64, ‘b’: np.int32} 指定每一列的数据类型,a,b表示列名 |
例如:不把第一行作为列标签、不把第一列作为行标签、数据类型视为np.float64的读取代码如下:
# 实例
data = pd.read_csv("./test1.txt", sep=' ', header=None, index_col=False, dtype=np.float64)
2 索引
2.1 pandas较新版本中的at()、loc()函数已被移除,不推荐使用
2.2 值索引:DataFrame.iat()
# 值索引
data = pd.read_csv("./test1.txt", sep=' ', header=None, index_col=False, dtype=np.float64)
a = data.iat[1, 2] #将data第二行、第三列的数据值赋给a,a的类型为np.float64
2.3 切片索引:DataFrame.iloc()
# 切片索引,注意区间是左闭右开
data = pd.read_csv("./test1.txt", sep=' ', header=None, index_col=False, dtype=np.float64)
a = data.iloc[:3, :] #将data的前三行的所有数据赋给a
3 存文件
pandas存文件函数API为:
DataFrame.to_csv(path_or_buf=None, sep=', ’, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None)
形参 | 解释 |
---|---|
path_or_buf | 文件保存的路径 |
sep | 默认是以 ,逗号进行分割 , 也可以自己制定 |
columns | 保存索引列和指定列 |
index | 是否写进行索引 0或者1 |
header | 是否写入列索引值 |
na_rep=NaN | 将缺失值写为NaN,如果不写默认为空 |
float_format=’%.2f’ | 保留两位小数 |
例如:以空格作为分隔符,写入行标签和列标签的代码如下:
# 实例
data = pd.read_csv("./test1.txt", sep=' ', header=None, index_col=False, dtype=np.float64)
data.to_csv('./save.txt', sep=' ’, header=True, index=True, mode='w', encoding='utf-8')