pandas数据分析库

Pandas

Pandas基本介绍

Python在数据处理和准备⽅⾯⼀直做得很好,但在数据分析和建模⽅⾯就差⼀些。pandas帮助填补了这⼀空⽩,使您能够在Python中执⾏整个数据分析⼯作流程,⽽不必切换到更特定于领域的语⾔,如R。

pandas是 Python 的核⼼数据分析⽀持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。pandas是Python进⾏数据分析的必备⾼级⼯具。

pandas的主要数据结构是 Series(⼀维数据)与 DataFrame (⼆维数据),这两种数据结构⾜以处理⾦融、统计、社会科学、⼯程等领域⾥的⼤多数案例

处理数据⼀般分为⼏个阶段:数据整理与清洗、数据分析与建模、数据可视化与制表,Pandas 是处理数据的理想⼯具。

Pandas的基本数据结构

pandas中有两种常用的基本结构

  • Series
    一维数组,与Numpy中的一维array类似,二者与Python基本的数据结构List也很相似。Series能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series种。
  • DataFrame
    二维的表格型数据结构,很多功能与R种的data.frame类似。可以将DataFrame理解为Series的容器。
Pandas库的Series类型

一维Series可以用一维列表初始化

Series生成

默认的情况下,Series的下标都是数字(可以使用额外参数指定),类型是统一的。

a=pd.Series([1,3,5,np.nan,6,5])
print(a)
# 输出为:
0    1.0
1    3.0
2    5.0
3    NaN # ⽆论是numpy中的NAN还是Python中的None在pandas中都以缺失数据NaN对待
4    6.0
5    5.0
dtype: float64 # 左边为索引,右边为各个元素对应的取值;
b=pd.Series([1,3,5,np.nan,6,5],index=['a','b','c','d','e','f']) #index设置索引
print(b)
# 输出为:
a    1.0
b    3.0
c    5.0
d    NaN
e    6.0
f    5.0
dtype: float64
Series查看数据

索引——数据行标签:index
取值:values
切片:[开始索引,结尾索引]前闭后开
索引赋值:a.index.name=‘索引’ a.index=list(‘abcdef’)

Pandas库的DataFrame类型
DataFrame初始化

DataFrame是由多种类型的列构成的⼆维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典。

# 首先构造一组时间序列,作为第一维的下标
date=pd.date_range('20200101',periods=6) 
print(date)
# 输出为:
DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04',
               '2020-01-05', '2020-01-06'],
              dtype='datetime64[ns]', freq='D')

# 然后创建一个DataFream结构,不指定任何index参数
df=pd.DataFrame(np.random.randn(6,4))
df    # 默认使用0、1、2.。。作为索引index、columns
# 输出为:
	0   1   2   3
0   -1.490125   1.298987    -0.543361   1.221980
1   -0.849709   0.118608    -0.955715   0.144980
2   -0.599598   -0.756037   -1.795249   -0.282495
3   -0.332586   1.750622    -1.493345   -2.100013
4   -0.905893   -0.254791   -1.476728   -0.001651
5   -1.121065   -1.861881   -0.502420   0.523135

# index参数设置行索引,columns参数设置列索引
df=pd.DataFrame(np.random.randn(6,4),index=date,columns=list('ABCD'))
df   
# 输出为:
A   B   C   D
2020-01-01  0.443978    -0.568280   0.539422    -1.808815
2020-01-02  -0.941946   1.600655    -0.165418   -0.143333
2020-01-03  0.058186    1.299691    -0.722582   -0.258170
2020-01-04  0.912441    -1.347266   -0.827097   -1.189625
2020-01-05  0.427125    0.010411    -0.390411   1.172277
2020-01-06  -0.584286   -0.428119   0.536305    1.327480

 # 使用字典传入数据pd.DataFrame({})
df1=pd.DataFrame({
   'A':1,'B':pd.Timestamp('20200101'),'C':pd.Series(1,index=list(range(4)),dtype=float),'D':np.array([3]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值