DataFrame: 二维数组,整个表格,多行多列
Series: 一维数据,一行或一列
import pandas as pd import numpy as np # ================= 1 仅有数据列表即可产生最简单的Series ================= s1 = pd.Series([1, 'a', 5.2, 7]) # 左侧为索引,右侧是数据 print(s1) # 获取索引 print(s1.index) # 获取数据 print(s1.values) print('*' * 50) # ================= 2 创建一个具有标签索引的Series ================= s2 = pd.Series([1, 'a', 5.2, 7], index=['d', 'b', 'a', 'c']) # 左侧为索引,右侧是数据 print(s2) # 获取索引 print(s2.index) # 获取数据 print(s2.values) print('*' * 50) # ================= 3 使用Python字典创建Series ================= data = {"Ohio": 35000, "Texas": 72000, "Oregon": 16000, "Utah": 5000} s3 = pd.Series(data) # 左侧为索引,右侧是数据 print(s3) # 获取索引 print(s3.index) # 获取数据 print(s3.values) # ================= 4 根据标签索引查询数据 ================= s4 = pd.Series([1, 'a', 5.2, 7], index=['d', 'b', 'a', 'c']) # 左侧为索引,右侧是数据 print(s4) # 获取index为a的元素 print(s4['a']) print(type(s4['a'])) # 获取指定的多个值 print(s4[['b', 'a']]) print(type(s4[['b', 'a']]))
DataFrame是一个表格型的数据结构
-
每列可以是不同的值类型(数值,字符串,布尔值等)
-
既有行索引index, 也有columns
-
可以被看做由Series组成的字典
创建dataframe最常用的方法,见Panda数据读取
import pandas as pd data = { "state": ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], "year": [2000, 2001, 2002, 2003, 2004], "pop": [1.5, 1.7, 3.6, 2.4, 2.9] } df = pd.DataFrame(data) print(df) # 获取每列的数据类型 print(df.dtypes) # 获取每列的键名 print(df.columns) # 获取索引 print(df.index)
import pandas as pd data = { "state": ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], "year": [2000, 2001, 2002, 2003, 2004], "pop": [1.5, 1.7, 3.6, 2.4, 2.9] } df = pd.DataFrame(data) print(df, ' ') # 查询一列,结果是一个pd.Series print(df['year'], type(df['year']), ' ') # 查询多列,结果是一个pd.DataFrame print(df[['year', 'pop']], type(df[['year', 'pop']]), ' ') # 查询一行,结果是一个pd.Series print(df.loc[1], type(df.loc[1]), ' ') # 查询多行,结果是一个pd.DataFrame print(df.loc[1:3], type(df.loc[1:3]))