【导语】想要学习用python做数据分析,当然少不了pandas,pandas 是用来清洗和加工数据的一个工具包,它能够方便灵活的处理大型数据集。
pandas主要用于处理非数值数据,numpy用来处理数值数据
Pandas的两种数据结构
一、series 一维的数组型对象,一列,它包含了值和标签
1、创建:可以通过列表、字典、数组
# 导入包import pandas as pd
import numpy as np
# 使用列表生成一个series
obj = pd.Series([4, 7, -5, 3])
print(obj)
print(obj.values)
print(obj.index)
# 使用数组生成一个Series
s2 = pd.Series(np.arange(7))
print(s2)
# 使用一个字典生成Series,其中字典的键,就是索引
s3 = pd.Series({'1':1, '2':2, '3':3})
print(s3)
print(s3.values)
print(s3.index)
2、索引:默认是从0开始,下面修改索引
obj2 = pd.Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
print(obj2)
print(obj2['a'])
3、取值:根据行索引取值
# 取一个值
obj2['a']
# 取多个值
obj2[['a','c']]
# 取连续值
obj2['a':'c']
# 按条件取值
obj2[obj2 > 0]
4、常用属性和方法
print('e' in obj2)
print('b' in obj2)
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
obj3 = pd.Series(sdata)
obj3
states = ['California', 'Ohio', 'Oregon', 'Texas']
obj4 = pd.Series(sdata, index=states) # 自动与dict的key匹配obj4
obj4
print(pd.isnull(obj4))
print(pd.notnull(obj4))
print(obj3 + obj4) # 数据自动对齐
二、DataFrame 二维, 多行多列,包含了行索引、列索引
1、 创建
data frame = pd.
2、 索引 有index行索引 和 columns列索引
frame = pd.DataFrame(data, columns=['year', 'state', 'pop']) # 指定列顺序frame
frame2 = pd.DataFrame(data,
columns=['year', 'state', 'pop', 'debt'],
index=['one', 'two', 'three', 'four', 'five']) # 分别指定行列名字,缺失值自动填充,比如debt列。
frame2
3、取值
①普通取值
# 通过索引返回指定列,返回类型为Series
print(frame2['state'])
print(frame2.year)
print(type(frame.state))
②loc[] 是对自定义行、列索引进行取值
# loc[] 第一个参数是行索引 第二个参数是列索引
df = pd.DataFrame([[1,2,3,4,5],[2,3,4,5,6]],['a','b'],['A','B','C','D','E'])
df
# 取单个值
df.loc['a','B']
# 取多个值
df.loc[['a','b'],'D']
# 取多个连续值 不遵循左开右闭 直接取值
df.loc[['a','b'],['D','E']]
③iloc[] 对默认的行、列索引的数据进行取值
df = pd.DataFrame([[1,2,3,4,5],[2,3,4,5,6]])
df
df = pd.DataFrame([[1,2,3,4,5],[2,3,4,5,6]],['a','b'],['A','B','C','D','E'])
df
print('C' in df.columns)
print(3 in df.index)
# 取单个值
df.iloc[0,3]
# 取多个值
df.iloc[[0,1],3]
# 取连续值 遵循左开右闭
df.iloc[0:1,0:4]
4、常用属性和方法
df = pd.DataFrame([[1,2,3,4,5],[2,3,4,5,6]],['a','b'],['A','B','C','D','E'])
df
print('C' in df.columns)
print(3 in df.index)
查看列类型: df.dtypes
查看行数列数:df.shape
查看列索引:df.colums
查看行索引:df.index
查看各个字段的记录数:df.count()
查看前五条数据:df.head()
查看最后五条数据:df.tail()
查看数据维度:df.ndim
查看数据对象值,二维数组:df.values
查看相关信息概览(行数,列数,列索引,列非空值个数,列类型,内存占用):df.info()
快速综合统计结果(计数,均值,保准值,最大值,四分位数,最小值):df.describe()
重命名,并覆盖原名:df.rename({'原名':'新名',inplace = true})
查看每列是否有空值:df.isnull().any()
希望本文的内容对大家的学习或者工作能带来一定的帮助,每天进步一点点,加油