六、数据整理

    “数据整理”通常是指将原始数据,转换为可用于你感兴趣的分析的可用形式,包括加载,聚合和格式化。

    注意:在整个笔记本中,我们将使用 ‘!’ 运行 shell 命令,来打印出示例数据文件的内容。

    这是 I / O 的官方 Python 。

    Python 的 I / O是一种非常“低级”的读取数据文件的方法,并且通常需要大量工作来整理读取文件的细节 - 例如,在上面的示例中,明确地处理新行字符。

    只要你有合理的结构化数据文件,使用标准化的文件类型,你就可以使用更高级的函数来处理很多这些细节 - 例如,将数据直接加载到 pandas 数据对象中。

    Pandas 有一系列函数,可以将标准文件类型的整个文件自动读取到 pandas 对象中。

    1. import pandas as pd
    2. # Tab 补全来检查所有可用的读取函数
    3. pd.read_

    存在许多不同的标准化(和非标准化)文件类型,其中可以存储数据。在这里,我们将从检查 CSV 和 JSON 文件开始。

    “逗号分隔值”文件存储数据,以逗号分隔。把它们想象成列表。

    这是维基百科中 CSV 文件的更多信息。

    Python 中的 CSV 文件

    1. # Python 有一个专门用于处理 csv 的模块
    2. import csv
    3. # 我们可以使用 csv 模块读取我们的文件
    4. with open('files/dat.csv') as csvfile:
    5. csv_reader = csv.reader(csvfile, delimiter=',')
    6. for row in csv_reader:
    7. print(', '.join(row))
    8. '''
    9. 1, 2, 3, 4
    10. 5, 6, 7, 8
    11. 9, 10, 11, 12
    12. '''

    Pandas 中的 CSV 文件

    JSON 文件

    JavaScript 对象标记文件可以存储层次化键/值对。把它们想象成字典。

    1. !cat files/dat.json
    2. '''
    3. {
    4. "firstName": "John",
    5. "age": 53
    6. }
    7. '''
    8. # 将 json 看做与字典相似
    9. d = {'firstName': 'John', 'age': '53'}
    10. print(d)

    Python 中的 JSON 文件

    Pandas 中的 JSON 文件

    1. # Pandas 还支持读取 json 文件
    2. pd.read_json?
    3. # 你可以使用 pandas 读取 json 格式的字符串
    4. # 请注意,这里我指定将其作为 pd.Series 读取,因为只有一行数据
    5. pd.read_json('{ "first": "Alan", "place": "Manchester"}', typ='series')
    6. '''
    7. first Alan
    8. place Manchester
    9. dtype: object
    10. '''
    11. # 用 pandas 读入我们的 json 文件
    12. pd.read_json(open('files/dat.json'), typ='series')
    13. '''
    14. age 53
    15. firstName John
    16. dtype: object
    17. '''