pandas一些简单数据操作

一些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可以用于替换数量方向的控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值