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

文章目录

  • 1.Pandas介绍
  • 2.案例知识点
    • 2.1创建DataFrame
    • 2.2创建日期
  • 3.DataFrame介绍
    • 3.1DataFrame属性
    • 3.2DataFrame设置索引
    • 3.3基本数据操作
    • 3.4DataFrame运算

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 – 最小值的索引

你可能感兴趣的:(机器学习实战入门笔记,python,机器学习,pandas)