pandas数据分析

pandas数据分析

1、Series对象

(1)定义和创建
(2)数据访问
(3)常用方法

(1)定义和创建
Serise对象是一种带有标签数据的一维数组,标签在pandas中有对应的数据类型“Index”,Serise类似于一维数组与字典的结合。
# 导入库

import pandas as pd #导入数据分析库pandas,别名pd
import numpy as np  #导入科学计算库numpy,别名np
import matplotlib.pyplot as plt   #导入数据可视化库matplotlib的模块pyplot,别名plt

data = pd.Series([6,8,3,4,32],index = ['a','b','c','d','e'])           #创建对象data,默认标签序号为0,1,2...,但也可以自己定义
data
data = pd.Series([6,8,3,4,32],index = list('dfghe'))          #将字符串强行转换成列表
data

data.index            #访问标签,属性后面没有小括号
Index(['d', 'f', 'g', 'h', 'e'], dtype='object')

data.values          #访问对象数据
array([ 6,  8,  3,  4, 32], dtype=int64)

data.ndim             #维度
1

data.shape           #Series对象形状,返回的是元祖
(5,)

data.size               #对象的个数
5

names = ['aa','cc','dd','bb','ee']
ages = [56,45,89,32,65]
pd.Series(ages,names)
pd.Series({'aa':18,'cc':66,'bb':98,'dd':33,'ee':56})    #用字典{}“键值对”创建Serise对象

print(data)                                   #内容输出数据,将被后面数据覆盖
print(data)                                   #打印对象内容

data_1 = pd.Series(np.arange(10,30,5),index = list('abcd'))   #用科学计算库生成数据创建Series对象
data_1

(2)数据访问

data_1.index
Index(['a', 'b', 'c', 'd'], dtype='object')

data_1.values
array([10, 15, 20, 25])

data_1.keys()  #作为字典键key()方法访问
Index(['a', 'b', 'c', 'd'], dtype='object')

list(data_1.items())  #作为键值对items()方法访问
[('a', 10), ('b', 15), ('c', 20), ('d', 25)]

(3)常用方法

data.sort_values()   #根据对象数据排序,不改变原有对象

data.sort_index()   #根据对象标签排序,不改变原有对象

data.rank()   #根据对象数据排名

data   #原有对象不变


2、DataFrame对象

(1)定义和创建
(2)数据访问
(3)常用方法
(4)常见操作

(1)定义和创建
DataFrame可以看做是一种既有行索引,又有列索引的二维数组,类似于Excel表或关系型数据库中的二维表,是pandas中最常见的基本结构。

names = ['aa','dd','ee','oo','ff']
ages = [45,87,65,32,54]
nums = ['21','22','23','24','25']
classes = ['1','2','3','4','5']
data_2 = pd.DataFrame({'学号':nums,'姓名':names,'年龄':ages,'班级':classes},index =list('abcde'))
data_2

(2)数据访问

data_2[['年龄','姓名']]   #根据列名访问1列或多列数据

data_2.年龄   #根据属性访问

data_2.年龄>50   #根据属性表达式判断数据返回逻辑值

data_2['年龄'][3]   #根据列名和标签访问具体数据

data_2.loc['c','姓名']   #根据列名显示索引访问

data_2.iloc[0:3,1:2]   #根据序号隐式索引访问

 (3)常用方法
(4)常见操作
(1)Pandas中的缺失值处理
(2)Pandas中的分组操作
(3)Pandas中的数据合并操作

data_1 = pd.read_excel('../Stu_pack/pandas/exer_1.xlsx',skiprows = 1)
data_2 = pd.read_excel('../Stu_pack/pandas/exer_2.xlsx',skiprows = 1)

data_2
data_3 = pd.merge(data_1,data_2)   #用merge()方法合并数据
data_3

data_1.join(data_2.set_index('姓名'),on = '姓名')   #用join()方法合并

data_2[(data_2['语文']<60) | (data_2['数学']<60) | (data_2['英语']<60)]  #判断某1列有不及格的数据

data_2[(data_2.语文<60) | (data_2.数学<60) | (data_2.英语<60)]   #用属性索引判断

  • 49
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值