python数据处理基础

  1. 基本数据类型
  1. 字符串

  位于成对的引号之间,单双均可。

  1. 整数和浮点数

  测试两者是否相等  ==,测试的返回值True或False,称作布尔型

  2/3=0 (整数型)

2/3.0=0.66666666(浮点数型)精度不同

控制数据精度:decimal模块

from decimal import Decimal,getcontext

getcontext().prec=1

Decimal(0.1)+Decimal(0.2)
  • 关于数学计算的python库
  • Decimal:用于定点运算和浮点运算
  • Math:使用C语言标准所定义的数学函数
  • Numpy:Python科学计算的基础包
  • Sympy:用于符号运算的python库
  • Mpmath:用于任意精度实数和复数浮点运算的python库
  1. 数据容器

(1)变量

当记录猫的数量的时候,用变量cat来保存猫的数量,需要计算或查询猫的数量的时候,调用变量cat即可。

(2)列表

将一列元素放到方括号([])中,元素用逗号隔开,即可创建列表。

cat=5

dog=6

pig=7

zoo=[cat,dog,pig]

(3)字典

在python的字典中,你要查找的单词叫做键(key),这些单词的释义叫做值(value)

animal_counts={"cat":2,"dog":5,"horse":1}

要想用键来访问一个值,可以从字典访问键,可以输入以下代码

animal_counts=['dogs']

通过字典将动物们存储清楚

animal_counts={
    'cats':['Walter','Ra'],
    'dogs':['Joker','Simon'],
    'horse':['Mr.Ed','fide']}

   存储同样的值还有另一种方法,它用到了更多的变量

cat_names=['Walter','Ra']

dog_names=['Joker','Simon']

horse_names=['Mr.Ed','fide']

animal_counts={

    'cats':cat_names,

    'dogs':dog_names,

    'horse':horse_names}

3.各种数据类型的用途

字符串

  • 大小写转换
  • 删除字符串末尾的空格
  • 分割字符串

整数和小数

  • 加减运算
  • 简单数学运算

列表

  • 在列表中增加或删除元素
  • 删除列表的最后一个元素
  • 列表重新排列
  • 列表排序

字典

  • 增加一个键/值对
  • 将指定的键设置为新的值
  • 利用键查找值

  在大多数情况下数据类型能做的事称为方法(Method),想要访问数据类型的方法,或者说让数据类型做一些事情,你可以用点号(.)。

  1. 字符串方法:字符串能做什么

1.strip方法:可以从头到尾删除字符串中多余的空格

filename='budeget.csv          '

filename=filename.strip()

如果你没有对变量重新赋值的话(令filename等于filename.strip()的输出值),你对filename的修改不会被保存。

2.upper方法:文件名全部转换为大写

filename='budeget.csv          '

filename=filename.upper()

可以将代码压缩成一行来运行

filename='budeget.csv'.upper()

  1. 数值方法:数字能做什么

  如果计算42的平方,那需要输入42**2。

  Python列表支持加法,却不支持减法,如果想了解如何对列表做减法,参考remove方法。

  1. 列表方法:列表能做什么

  1.定义空列表

dog_name=[]

  2.append方法:添加元素

dog_name.append('joker')

3.remove方法:删除元素

dog_name.remove('walter')

  1. 字典方法:字典能做什么

  1.创建一个空的字典

animal_counts={}

  2.添加键并给定这个键对应的值

animal_counts['horses']=1

animal_counts['cats']=3

animal_counts['pigs']=6

  3.返回字典包含的所有键

animal_counts.keys()

  4.依据键检索到与其对应的值

animal_counts['horses']
  1. 有用的工具:type、dir和help
  1. Type

  type可以帮助你确定你的对象属于哪种数据类型

type('20011')

type(20011)

  第一行返回的是str,第二行返回的是int

  1. dir

   dir可以让你深入了解每一种python数据类型的内置方法

dir('cat')

   利用Python字符串内置的splict方法,我们可以用逗号为分隔符,将字符串切分成更小的字符串。

'cat,dog,panda'.split(',')

python会返回一个列表

['cat', 'dog', 'panda']
  1. help

help方法会返回对象、方法或模块的帮助文档

help('cat,dog,panda'.split)
  1. 小结
  1. 数据类型

名称

举例

字符串

Joker

整数

2

浮点数

2.0

变量

Animai_names

列表

[cat,dog,panda]

字典

{cat=2,dog=1,panda=5}

  1. 辅助工具

举例

用途

type(joker)

返回joker的对象类型

dir(joker)

返回一个列表,给出对象joker可以做的所有事情(方法和属性)

help(joker.strip)

返回给定方法(在本例中是strip)的说明文档,以便我们更好了解使用它

  • 供机器读取的数据

以易于机器理解的方式来存储数据的文件格式,通常叫做机器可读的(machine readable)。常见的机器可读格式有

  • 逗号分隔值(comma-separated value,CSV)
  • JavaScript对象符号(JavaScript Object Notation,JSON)
  • 可拓展标记语言(eXtensible Markup Language,XML)
  1. CSV数据

  CSV文件(简称为CSV)是指将数据列用逗号分隔的文件,文件的拓展名是.csv

  访问网页(http://apps.who.int/gho/data/node.main.3?lang=en)

(1)如何导入CSV数据

import csv

csvfile=open('data.csv','r')

reader=csv.reader(csvfile)

for row in reader:

    print(row)

函数(function)是一段代码,在被调用时执行相应的任务。它和Python数据类型的方法十分相似。函数有时候会接收一个(或多个)输入。这些输入叫做参数(argument)。函数的功能是基于参数的。函数有时也会返回一个输出,可以被保存或使用。

(2)将代码保存到文件中并在命令行运行

cd C:\Users\朱纪翔\Desktop\练习,cd可以使用变更目录或文件夹命令。

  在命令行中输入python main.py

  将列表行改成字典行,需要将reader=csv.reader(csvfile)修改成reader=csv.Dictreader(csvfile)。

import csv

csvfile=open('data.csv','r')

reader=csv.DictReader(csvfile)

for row in reader:

    print(row)

  现在我们已经成功地将CSV数据导入到python中,我们能够从文件中获取数据,并将其转换成python可用的格式(字典),for循环能够让我们直观地查看数据。我们可以利用CSV库两种不同的reader来查看数据,一种是列表形式,一种是字典形式。

  1. JSON数据
  1. 如何导入JSON数据
import json

json_data=open('data-text.json').read()

data=json.loads(json_data)

for item in data:

    print(item)

  在CSV的例子中,我们以只读方式打开文件;但在JSON的例子中,我们读取文件的内容,并将其保存在变量json_data里面。在CSV的例子中,open函数返回的是一个文件对象;但是在JSON例子中,我们首先打开文件,然后读取文件,所以得到的是一个str(字符串)。两者的不同是基于下列事实:Python的json库和csv库处理输入数据的方式不同。

  1. XML数据
from xml.etree import ElementTree as ET



tree = ET.parse('../../data/chp3/data-text.xml')

root = tree.getroot()

print(root)



data = root.find('Data')



all_data = []



for observation in data:

    record = {}

    for item in observation:



        lookup_key = item.attrib.keys()[0]



        if lookup_key == 'Numeric':

            rec_key = 'NUMERIC'

            rec_value = item.attrib['Numeric']

        else:

            rec_key = item.attrib[lookup_key]

            rec_value = item.attrib['Code']



        record[rec_key] = rec_value

    all_data.append(record)



print(all_data)

  XML格式,使用了一种叫做标签的东西。

  XML是一种标记语言,它具有包含格式化数据的文档结构。XML文档本质上知识格式特殊的数据文件。标签(或节点)以层次化和结构化的方式保存数据。

  在XML文件中有两个位置可以保存数据值:一个位置是在两个标签之间,比如在46中,标签值是46;另一个位置是标签的属性,比如在中,Category的属性值是”COUNTRY” ,Code的属性值是”Som”。XML用标签和属性来保存数据,类似于JSON中的键。

python数据处理基础_第1张图片

 

  每一“行”数据都包含在一个Observation标签中,在每一个Observation节点内,这些数据行又分别包含在Dim,Value和Display节点中。

你可能感兴趣的:(船舶会遇,python,开发语言,数据分析)