pandas基础总结

近期想学习下数据分析,里边有用到pandas库,在书上网上找了些知识点想把它写下来便于以后自己的温习与分享。

pandas库主要有Series和DataFrame两个数据结构
Series 是一个类数组的数据结构,有索引index 可以理解为序列
DataFrame 按列存储的数据结构,所有的数据都是按列存放的 每列都是Series序列的结构

下面是关于pandas基础用法的实现

#导入pandas库
import pandas as pd
#1.通过list构建Series
ser_obj = pd.Series( range(10,20) )
print(ser_obj)

在这里插入图片描述

#获取数据
print( 'values=',ser_obj.values )
#获取索引
print( 'index=',ser_obj.index )  #索引是一个生成器对象
#通过索引获取数据
print( ser_obj[0] )
print( ser_obj[8] )

在这里插入图片描述

print( '是否>15?',ser_obj > 15 )   #是否大于15
print( ser_obj[ser_obj > 15] )  #输出大于15的数

在这里插入图片描述

#通过dict构建Series: 此时dict中的键作为index 值作为values  且自动根据键排序
year_data = {2007:33,2001:20.1,2003:16.5}
ser_obj2=pd.Series( year_data )
print( ser_obj2.head() )   #head默认前五条
print( ser_obj2.index )
print( ser_obj2.values )

在这里插入图片描述

import numpy as np
#
array = np.random.randn(5,4)  #五行四列
print( array )

df_obj = pd.DataFrame( array )    #看的出比array新增了行索引和列索引
print( type(df_obj) )
print( df_obj.head() )

在这里插入图片描述

# 用过dict构建DataFrame
import numpy as np
dict_data = {
    'A':1.,
    'B':pd.Timestamp('20181211'),
    'C':pd.Series( 1,index=list(range(4,8)),dtype='float32' ),
    'D':np.array([3] * 4,dtype='int32'),  #ndarray
    'E':pd.Categorical(["Python","Java","C++","C#"]),  #Categorical
    'F':'ChinaHadoop'
}
print( dict_data )
df_obj2=pd.DataFrame(dict_data)
print( df_obj2 )

在这里插入图片描述

#增加列
df_obj2['G']=[1,2,3,4]
print( df_obj2 )
#删除列
del(df_obj2['G'])

在这里插入图片描述

#运算
df_obj=pd.DataFrame( np.random.randn(5,4),columns=['a','b','c','d'] )
print( df_obj )

#求和
print( '按列sum:',df_obj.sum() )  #可以通过 axis 来指定行或列   #默认是按列求和
print( '按行sum:',df_obj.sum(axis=1) )   # axis=1 是按行求
#求最大值
print( '按列max:',df_obj.max())
print( '按行max:',df_obj.max(axis=1))
#求最小值
print( '按列min:',df_obj.min())
print( '按行min:',df_obj.min(axis=1))
#统计描述  describe( percentiles=None , include=None , exclude=None )
#生成描述性统计,总结数据集分布的中心趋势,分散和形状,不包括NaN值
print( df_obj )
df_obj.describe()   #输出df_obj 的统计描述

在这里插入图片描述

三种索引方式:loc标签索引 .iloc位置索引 .ix混合索引(先按标签索引尝试操作,然后再按位置索引尝试操作)

#标签索引  loc
#Series
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值