• Python学习笔记:数据的处理


    上次的学习中有个split函数,照着head first Python上敲一遍代码:

    1 >>> with open('james.txt') as jaf:
    2     data=jaf.readline()
    3     james=data.strip().split(',')

    先看一下james.txt里面数据的格式

    第三行代码的意思就应该是先去除掉字符串中的空白符,再按照','进行分割,学习到这里感觉Python的语法是很灵活的....

    1 >>> print(james)
    2 ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']

    数据的排序:

    在Python中对数据排序有两种方式:第一种,In-place sorting,原地排序,会更改原来数据的排序;第二种,Copied sorting,复制排序,新建一个副本,对副本排序,即不会更改原来数据的排序

    实战一下吧:

    1 >>> a=[1,4,6,3,5]
    2 >>> a1=sorted(a) # 复制排序
    3 >>> a1
    4 [1, 3, 4, 5, 6]
    1 >>> a.sort() # 原地排序

    创建一个函数统一时间格式:

    1 >>> def sanitize(time_string):
    2     if '-' in time_string:
    3         splitter='-'
    4     elif ':' in time_string:
    5         splitter=':'
    6     else:
    7         return(time_string)
    8     (mins,secs)=time_string.split(splitter)
    9     return(mins + '.' + secs)

    看看处理后的数据:

    1 >>> cl_james=[]
    2 >>> for each_t in james:
    
    3         cl_james.append(sanitize(each_t))

    再排序输出:

    1 >>> print(sorted(cl_james))
    2 ['2.01', '2.01', '2.22', '2.34', '2.34', '2.45', '3.01', '3.10', '3.21']

    推导列表:一行代码就能完成空列表的创建,迭代,每次迭代的操作,迭代后的赋值给新建的列表...这样的语法可能有点不容易理解吧

    1 >>> cl_j=[sanitize(each_t) for each_t in james]
    2 >>> cl_j
    3 ['2.34', '3.21', '2.34', '2.45', '3.01', '2.01', '2.01', '3.10', '2.22']

    感觉有点像R语言中的apply函数

    Python的’集合’数据结构

    1 >>> distances=set() # 生成空集合并赋给一个变量
    1 >>> distances={10.6,10.6,8}
    2 >>> distances
    3 {8, 10.6}

    用大括号进行赋值,Python中的集合是无序切不重复的数据集,若输入了重复的数据,Python会忽略。输出一下

    1 >>> print(sorted(set(scl_j))[0:3])
    2 ['2.01', '2.22', '2.34']
  • 相关阅读:
    redis 储存对象
    redis key 查看器
    c# 控制台程序编写RabbitMQ 生产者
    C# 使用Topshelf 构建 基于 window 服务的 RabbitMQ消费端
    asp.net webapi 使用定时任务Hangfire
    asp.net webpi 中使用 ClientHelper 发起HTTP请求
    SQL Server 导入和导出向导 未在本地计算机上注册Mircrosoft.ACE.OLEDB.12.0 提供程序
    c# 使用Linq 表达式 对查询结果分组,保留价格最低的一条
    Asp.Net s请求报传输流收到意外的 EOF 或 0 个字节
    asp.net webapi 中使用rdlc 报表
  • 原文地址:https://www.cnblogs.com/hahaxzy9500/p/6705101.html
Copyright © 2020-2023  润新知