数据分析——pandas
pandas核心数据结构
Series:一维数据
创建Series
1、利用列表创建Series
import pandas as pd
import numpy as np
s1 = pd.Series([1,2,'a',4])
2、创建一个具有标签索引的Series
s2 = pd.Series([1,2,3], index = ['a', 'b', 'c'])
3、利用python字典创建Series
sdata = {
'a':1, 'b':2, 'c':3}
s3 = pd.Series(sdata)
Series的索引
类似python的字典根据标签索引查询数据
s2['a']
type(s2['a'])
s2[['b', 'a']]
type(s2[['b', 'a']])
DataFrame:二维数组
DataFrame是一个表格型的数据结构,每列可以是不同的值类型(数值,字符串,布尔值等),既可以有行索引index,也可以有列索引columns,可看成由Series组成的字典
DataFrame的创建
1、根据多个字典序列创建
data = {
'state':['Ohio','Ohio','Nevada'],
'year':[2000, 2001, 2002],
'pop': [1.5, 1.7, 3.6]
}
df = pd.DataFrame(data)
df.types
df.columns
df.index
2、从结构化数据中创建
data = [(1, 2.2, 'Hello'), (2, 3., "World")]
pd.DataFrame(data)
pd.DataFrame(data, index=['first', 'second'], columns=['A', 'B', 'C'])
DataFrame的索引
# 查询一列, 结果是一个pd.Series
df['year']
# 查询多列,结果是一个pd.DataFrame
df[['year', 'pop']]
# 查询一行,结果是一个pd.Series
df.loc[1]
df.loc[1:3]
pandas查询数据
1、使用单个label值查询数据
# 得到单个值
df.loc[1,'year']
# 得到一个Series
df.loc[1, ['year', 'pop']]
2、使用值列表批量查询
# 得到DataFrame
df.loc[[1,2], ['year', 'pop']]
3、