python.pandas 精简语法

#通过索引是视图 不是副本

1.导包

import pandas as pd
from pandas import Series,DataFrame
import numpy as np

2.Series(数据类型)

2.1 创建Series

#Series 由索引和一维数组组成

obj = Series([4,7,-5,3]) # 默认索引
obj.values  # 获得值
array([ 4, 7, -5,  3], dtype=int64)
obj.index   # 索引值
RangeIndex(start=0, stop=4, step=1)
#带索引值
obj2  = Series([4,7,-5,3],index=['d','b','a','c'])
#字典
sdata ={
   'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
obj3 = Series(sdata)

2.2 取值

#取值
obj2['a']
obj2['a','b']
#类似字典,索引和值一一对应,无论做什么操作(根据布尔值进行过滤.标量乘法,数学函数等)
#索引和值的对应关系不变,但是索引值可能会重复
#类似字典,判断键是否存在(索引是否存在)
'b' in obj2
#判断是否有NA
pd.isnull(obj4) #是否有Na值
pd.notnull(obj4)  #是否有非NA值

3.DataFrame(数据类型)

3.1 定义

DataFrame 是一个表格型的数据结构,具有行索引和列索引.每列的数据可以不相同,但是公用一个索引(行,列)

3.2 创建

data = {
   'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
       'year':[2000,2001,2002,2001,2002],
       'pop':[1.5,1.7,3.6,2.4,2.9]}
frame = DataFrame(data)
frame_test = DataFrame(data,index=['a','b','c','d','e'])#添加索引

3.3 简单的增删改查

#取列  返回的Series和原DataFrame相同的索引
frame['state']
frame.state
#增加一列
frame['debt'] = np.arange(5)
frame['debt'] = 16.5
#改
val = Series([2,3],index=[1,2])
#frame.loc[1:2,'year'] 选取要修改的数据,下面会讲到
frame.loc[1:2,'year'] = val 
#删
del frame['year']

3.4 索引对象(暂时不讲)

4.基本功能

4.1 重新索引

功能:pandas中的reindex方法可以为series和dataframe添加或者删除索引。
方法:serise.reindex()、dataframe.reindex()
如果新添加的索引在原数组的索引中不存在,则默认为nan。如果减少索引,就相当于一个切片操作。

obj = Series([4.5,7.2,-5.3,3.6],index=['d','b','a','c'])
d    4.5
b    7.2
a   -5.3
c    3.6
obj2 = obj.reindex(['a','b','c','d','e'],fill_value=0)#重新索引比原来的数组多,用0补充
#行索引
obj3 = Series(['blue','purple','yellow'],index=[0,2,4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值