python机器学习实战|机器学习入门笔记3-Pandas基础知识

1.Pandas介绍

开源的数据挖掘库,用于数据探索,封装了matplotlib,numpy

2.案例知识点

2.1创建DataFrame

  • pd.DataFrame(ndarray,index=,columns=)
    • 数据必须为ndarray格式
import pandas as pd
import numpy as np

# 用numpy正态分布生成数据10008列
stock_change=np.random.normal(3,0.6,(1000,8))
stock_change

# 转化为DataFrame格式
stock_code=["股票{}".format(i+1) for i in range(stock_change.shape[0])] #生成行标签
stock_date=pd.date_range(start="20000229",periods=stock_change.shape[1],freq="B") #生成行标签
stock_rise=pd.DataFrame(stock_change,index=stock_code,columns=stock_date)
stock_rise.head(5)

2.2创建日期

  • pd.date_range(start,end,periods,freq)
    • start – 开始日期
    • end – 结束日期
    • periods – 时间跨度
    • freq – 周期
stock_date=pd.date_range(start="20000229",periods=stock_change.shape[1],freq="B") #生成行标签

3.DataFrame介绍

3.1DataFrame属性

代码意义
.shape()形状
.index()列索引值
.columns()行索引值
.values()数据值
.T转置
.head()展示前五行数据
.tail()展示后五行数据
stock_rise.shape
stock_rise.index
stock_rise.columns
stock_rise.values
stock_rise.T
stock_rise.head()
stock_rise.tail()

3.2DataFrame设置索引

1.修改行列索引
必须整行或者整列去进行修改

# 修改行索引
stock_rise.index=["股票——{}".format(i+1) for i in range(stock_rise.shape[0])]
stock_rise.head()

2.重设索引
对象.reset_index()

# 重设索引
stock_rise.reset_index(drop=True) #True是删除原有标签
stock_rise.reset_index(drop=False) #Flase是不删除原有标签生成新标签

3.设置新索引
对象.set_index()

# 设置列为新索引
stock_rise.set_index(['20000229','20000306'])

3.3基本数据操作

1.索引操作

  • 直接[] – 先列后行
import pandas as pd

stock=pd.read_csv("D:\\my_dateset\\National_Stock_Exchange_of_India_Ltd.csv",index_col="Symbol") #index_col="Symbol"设置Symbol为行索引
stock.tail()
# 直接使用行列索引(先列后行)
stock["Low"]["UPL"]
  • .loc() – 先行后列,索引值
# loc、iloc 先行后列
stock.loc["TECHM":"WIPRO","Chng"]
  • .iloc() – 先行后列,索引值下标
stock.iloc[:10,3:8] #前10行第48

2.赋值操作

  • 对象[“”]=
  • 对象.赋值的索引=
stock["Open"]=100
stock.LTP=100

3.排序

  • DataFrame
    • 对象.sort_values()
      • by – 按照什么顺序
      • ascending – 升降序,默认升序
    • 对象.sort_index()
      • 按索引排序

注意by这个参数可以接受多个值,优先按照第一个索引排序,如果相同,按照后面的

  • series
    • 对象.sort_values()
    • 对象.sort_index()
stock.sort_values(by=["LTP"],ascending=False)
stock.sort_index()

3.4DataFrame运算

1.算术运算

  • 直接使用方法,add,sub…
    2.逻辑运算
  • <、>、|、&
  • 直接判断
  • 逻辑运算函数
    • 对象.query(“”)
    • 对象.isin([])
stock.query("Chng>5 & Chng<100")
stock[stock["Chng"].isin([-6.25,-6.80])]

3.统计函数

  • 对象.descibe()
  • 统计函数
    sum
    mean

    mode – 众数
    idxmax – 最大值的索引
    idxmin – 最小值的索引
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值