Python数据可视化常用操作(Pandas)

import pandas as pd
# 产生0-1的随机数10行5列
dt = np.random.normal(0,1,(10,5))
# 行索引
row_index = ["股票{}".format(i) for i in range(10)]
# 列索引,起始日期,时间长,
column_index = pd.date_range(start='20190329',periods=5,freq='B')
data=pd.DataFrame(dt,index=row_index,columns=column_index)

属性

  • data.shape 返回(10,5)
  • data.index返回行索引 data.columns返回列索引,如果要修改索引值,data.index[2]="xxx"是错误的方式,需要对整体全部索引值重新赋值
  • Series是带索引的一维数组,Dataframe是带索引的二维数组
  • data.iloc[r]返回第r行的数据
  • data.values返回除去行索引列索引的值
  • data.T转置
    方法
  • data.head(n)返回前n行,不加n参数默认返回前5行
  • data.tail(n)返回后n行,不加n参数默认返回后5行

Python数据可视化常用操作(Pandas)_第1张图片索引操作

  • 直接使用行列索引(必须先列后行,且使用名字索引)例如:data[“2019-03-29 00:00:00”][“股票1”]
  • loc索引(可以先行后列)例如data.loc[“股票1”][“2019-03-29 00:00:00”]或者data.loc[“股票1”,“2019-03-29 00:00:00”]
  • iloc数字索引:data.iloc[1,0]也可以有范围data.iloc[0:3,1:4]
  • data.列名 或者 data[列名]获取一列的数据,然后可以直接赋值

排序

  • 按内容排序:data.sort_values(by=[‘f1’,'f2],ascending=):按f1大小进行排序,如果f1大小相等则按f2大小排序。ascending=False降序,True升序
  • 按索引排序:data.sort_index()

算术运算\逻辑运算

  • data.add(3)、data.sub(3) 或者data+3
  • data[“列名”]>2 返回布尔值的索引
  • data.query("列名 >2 ")查询符合表达式的记录,表达式放在“”中
  • data[“列名”].isin(数值) 判断是否有该数值返回索引
  • pandas画图:data.plot(x=“列名1”,y=“列名2”,kind=“scatter”),kind为图线类型,散点图或者折线图等等

读取文件

  • 读取csv文件:pd.read_csv(“文件路径”,usecols=[要读取的列名],names=[]),其中names是为了对读取的文件没有字段列名而设置的,如果不设置会自动将第一行作为列名字段
  • data[:10].to_csv(“保存的路径名”,columns=[列名],index=False) 将对应列名的前10行保存到路径。index=False表示不讲索引保存到文件

你可能感兴趣的:(Python)