《利用python进行数据分析》——使用python中的pandas库处理数据(一)

《利用python进行数据分析》的学习笔记

pandas数据结构介绍

Series和DataFrame是pandas中常用的工具数据结构。

Series

Series 是一种一维的数组型对象。有索引(index)。默认生成的索引是从0到N-1。(N是数据的长度)
可以通过values属性和index属性分别获得Series对象的值和索引。

从另一个角度考虑Series,可以认为它是一个长度固定且有序的字典,因为它将索引值和数据值按位置配对。在可能会使用字典的上下文中,也可以使用Series:

操作:
  1. 构造函数( ) pd.Series(数值,索引 )
  2. 按照标签索引 series[‘标签’]
  3. 字典和series的转换 pd.Series(字典)
  4. 使用series.values 查看值 使用series.count查看索引
import pandas as pd

obj = pd.Series([9,2,7,3])
print(obj)

#可以通过values属性和index属性分别获得Series对象的值和索引。
print(obj.values)
print(obj.count)

#也可创建一个索引序列index来标识数据
obj2 = pd.Series(obj.values, index = ['a','b','c','d'])
obj3 = pd.Series([1,2,3,4],index = ['a','b','c','d'])
print(obj2)
print(obj3)

#使用标签进行索引
print(obj2['a'])
print(obj3[['c','a','d']])

#与标量相乘
print(obj2*2)
#使用布尔值数组进行过滤
print(obj3[obj3<0])

#如果已经有数据包含在Python字典中,你可以使用字典生成一个Series:
dic = {'a':1,'b':2}
obj4 = pd.Series(dic)
print(obj4)

#如果已经有数据包含在Python字典中,你可以使用字典生成一个Series:
dic = {'a':1,'b':2,'c':3,'d':5}
obj4 = pd.Series(dic)
print(obj4)
#Series对象自身和其索引都有name属性
print(obj4.index.name)

数据缺失值处理

’NA‘表示缺失数据
使用 isnull() 函数或者notnull()函数检查缺失值

DataFrame

DataFrame表示的是矩阵的数据表,它包含已排序的列集合,每一列是不同的值类型(数值、字符串、布尔值等),DataFrame既有行索引也有列索引。

操作:
  1. 构造函数 pd.DataFrame(数据,索引) 索引可以不写
  2. 显示前五行 dataframe.head( )
  3. 检索某一列 dataframe[‘列名’] 或者 dataframe.列名
  4. 对某一列赋值 dataframe[‘列名’] = 某个值
    使用列表或者数组赋值时,长度要与dataframe长度一致
  5. 查看所有列 dataframe.columns
  6. 删除某一列 del dataframe[‘列名’]
import pandas as pd
import numpy as np
#构建dataframe
#使用包含等长度列表或NumPy数组的字典构造
data = {'state':['China','Japan','US','UN','German','France'],
        'GDP':[100,80,120,60,50,45]}
frame = pd.DataFrame(data)
print(frame)

#显示前五行
frame.head() 

#构造时,指定列的顺序
frame2 = pd.DataFrame(data,columns = ['state','GDP','cd'])
print(frame2)  #NaN表示缺失值

#检索某一列
frame['GDP']
frame.GDP

#对某一列赋值
frame2['cd']=12
#如果被赋值的列并不存在,则会生成一个新的列
#使用列表或者数组赋值,长度要与dataframe长度一致
frame2['cdd']=np.arange(6.)

#查看所有列
print(frame2.columns)

#删除某一列
del frame2['cd']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值