一些pandas读取表格并进行常用数据处理的操作
读取多行数据
tabledata = pandas.read_excel("./数据.xlsx", header=None, sep=',', nrows=10)
其中:
header:指定作为列名的行,默认0,即取第一行的值为列名,数据为列名行以下的数据;若数据不含列名,则设定 header = None。
sep:指定分隔符。如果不指定参数,则会尝试使用逗号分隔。
nrows:需要读取的行数(从文件头开始算起,这里等于10,就是读取十行的数据)
重命名需要的数据列
name_columns = [' ','1','2', '3', '4', '5', '6', '7', '8']
tabledata = pandas.read_excel("./数据.xlsx", header=0, names=name_columns, sep=',', nrows=10)
其中:
names:用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None
取出指定值数据列
name_columns = [' ','1','2', '3', '4', '5', '6', '7', '8']
tabledata = pandas.read_excel("./数据.xlsx", header=0, names=name_columns, sep=',')
hotel_name_list = []
for i in range(421):
if tabledata.ix[i,2] == "12":
hotel_name_list.append(tabledata.ix[i,1])
其中:
ix :基于标签或者索引(loc和iloc 的混合)
loc:使用行标签,列标签进行取值;iloc 基于行索引和列索引(index,columns) 都是从 0 开始进行取值,ix则两者皆可
查找缺失值
name_columns = [' ','1','2', '3', '4', '5', '6', '7', '8']
tabledata = pandas.read_excel("./数据.xlsx", header=0, names=name_columns, sep=',')
tableline = tabledata[tabledata['类型'].isnull()]
print(tableline)
其中:
na_values:默认会将’-1.#IND’, ‘1.#QNAN’, ‘1.#IND’, ‘-1.#QNAN’, ‘#N/A N/A’,’#N/A’, ‘N/A’, ‘NA’, ‘#NA’, ‘NULL’, ‘NaN’, ‘-NaN’, ‘nan’, ‘-nan’, ‘’, 转换为NaN,且na_values参数还支持定义另外的应处理为缺失值的值
替换缺失值
name_columns = [' ','1','2', '3', '4', '5', '6', '7', '8']
tabledata = pandas.read_excel("./数据.xlsx", header=0, names=name_columns, sep=',')
tableline = tabledata['类型'].fillna(value='其他')
tabledata['类型'] = tableline
其中:
fillna函数用于替换缺失值,常见参数如下:
value参数决定要用什么值去填充缺失值
axis:确定填充维度,从行开始或是从列开始
limit:确定填充的个数,int型
通常limit参数配合axis可以用于替换数量方向的控制