参考链接

Series

Series的创建

pd.series(list, index[])第二个参数是Series中数据的索引,可以省略。
其中第一个参数可以有三种格式:

  • ndarray
  • dict,其中dict的keys将会在自动作为索引
  • DataFrame中的某一行或某一列


DataFrame

DataFrame是一个表格型的数据类型,每列值类型可以不同,是最常用的pandas对象。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。

DataFrame的创建

pd.DataFrame(data,columns = [],index = [])columns和index为指定的列、行索引,并按照顺序排列。

  1. 创建DataFrame最常用的是直接传入一个由等长列表或NumPy数组组成的字典,会自动加上行索引,字典的会被当做列索引

    1. import pandas as pd
    2. data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
    3. 'year': [2000, 2001, 2002, 2001, 2002, 2003],
    4. 'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
    5. df= pd.DataFrame(data)
    6. In [45]: df
    7. Out[45]:
    8. pop state year
    9. 0 1.5 Ohio 2000
    10. 1 1.7 Ohio 2001
    11. 2 3.6 Ohio 2002
    12. 3 2.4 Nevada 2001
    13. 4 2.9 Nevada 2002
    14. 5 3.2 Nevada 2003
  2. 如果创建时指定了columns和index索引,则按照索引顺序排列,并且如果传入的列在数据中找不到,就会在结果中产生缺失值:

    1. In [48]: df2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'],
    2. ....: index=['one', 'two', 'three', 'four', 'five', 'six'])
    3. In [49]: df2
    4. Out[49]:
    5. year state pop debt
    6. one 2000 Ohio 1.5 NaN
    7. two 2001 Ohio 1.7 NaN
    8. three 2002 Ohio 3.6 NaN
    9. four 2001 Nevada 2.4 NaN
    10. five 2002 Nevada 2.9 NaN
    11. six 2003 Nevada 3.2 NaN
  3. 另一种常见的创建DataFrame方式是使用嵌套字典,如果嵌套字典传给DataFrame,pandas就会被解释为外层字典的键作为列,内层字典键则作为行索引:

    1. In [65]: pop = {'Nevada': {2001: 2.4, 2002: 2.9},
    2. ....: 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}
    3. In [66]: df3 = pd.DataFrame(pop)
    4. In [67]: df3
    5. Out[67]:
    6. Nevada Ohio
    7. 2000 NaN 1.5
    8. 2001 2.4 1.7
    9. 2002 2.9 3.6

    DataFrame增加数据

    目测比较好用的方法是用.loc()方法直接增加一行数据。可以配合shape使用

    1. row_num, column_num = df.shape
    2. df.loc[row_num] = {key:value, key:value}

    数据保存

    保存成csv

    dataFrame.to_csv()