[Python数据分析] pandas库基础

这篇博客介绍了pandas库的基础,它是一个专为数据分析设计的库,基于numpy。内容涵盖Series和DataFrame数据结构,单层和分层索引访问数据,重新索引,数据排序,统计计算与描述,以及如何绘制图表。
摘要由CSDN通过智能技术生成

pandas库是一个基于numpy、专门为数据分析而设计的库,该库不仅提供了大量模块及一些标准的数据模型,而且提供了高效操作数据集的数据结构,被广泛地应用到众多领域中.

1.Series

# Series类对象的结构类似一维数组,主要由数据和索引组成,数据可以是任意类型
# pandas.Series(data(传入数据)=None, index(传入索引)=None, dtype(数据类型)=None, name(Series类对象名称)=None, copy(复制数据)=False)

import pandas as pd

# 根据列表创建Series类对象
ser_obj = pd.Series(['Python', 'Java', 'PHP'])
print(ser_obj)
'''输出结果
0    Python
1      Java
2       PHP
dtype: object
'''

# 创建Series类对象,指定索引
ser_obj_01 = pd.Series(['Python', 'Java', 'PHP'], index=['one', 'two', 'three'])
print(ser_obj_01)
'''输出结果
one      Python
two        Java
three       PHP
dtype: object
'''

data = {'one': 'Python', 'two': 'Java', 'three': 'PHP'}
ser_obj_02 = pd.Series(data)  # 根据字典创建Series类对象
'''输出结果
one      Python
two        Java
three       PHP
dtype: object
'''

# 时间序列(动态序列)是指将同一统计指标的数值按其发生的时间先后顺序排列成的数列
# Series类对象或DataFrame类对象可以指定索引为时间索引,生成一个时间序列,代码如下:

import datetime

# 创建时间索引
date_index = pd.to_datetime(['20210820', '20210828', '20210908'])
print(
    date_index)
'''输出结果
print(ser_obj_02)  # DatetimeIndex(['2021-08-20', '2021-08-28', '2021-09-08'], dtype='datetime64[ns]', freq=None)
'''
# 创建Series类对象,指定索引为时间索引
date_ser = pd.Series([11, 22, 33], index=date_index)
print(date_ser)
'''输出结果
2021-08-20    11
2021-08-28    22
2021-09-08    33
dtype: int64
'''

2.DateFrame

# DateFrame类对象结构类似二维数组或表格,DateFrame也由索引和数据组成,但该对象有行索引和列索引
# pd.DateFrame(data=None, index=None, columns=None, dtype=None, copy=Flase)

import pandas as pd
import numpy as np

# 创建二维数组
demo_arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
df_obj = pd.DataFrame(demo_arr)  # 根据二维数组创建DateFrame类对象
print(df_obj)
'''输出结果
   0  1  2
0  a  b  c
1  d  e  f
'''

# 创建DateFrame类对象,同时指定行索引和列索引
df_obj_01 = pd.DataFrame(demo_arr, index=['row_01', 'row_02'], columns=['col_01', 'col_02', 'col_03'])
print(df_obj_01)
'''输出结果
       col_01 col_02 col_03
row_01      a      b      c
row_02      d      e      f
'''

# from_tuples(),根据元组创建分层索引
# from_arrays(),根据数组创建分层索引
# from_product(),从集合的笛卡尔积中创建分层索引
# from_frame(),根据DataFrame类对象创建分层索引

# 以from_tuples()方法为例,创建双层索引的DataFrame类对象
tuple_clo = [('a', 0), ('a', 1), ('b', 2), ('b', 2)]
tuple_row = [('a', 0), ('a', 1), ('b', 2), ('b', 2)]
multi_index_col = pd.MultiIndex.from_tuples(tuples=tuple_clo)
multi_index_row = pd.MultiIndex.from_tuples(tuples=tuple_row)
data = [['A', 'B', 'C', 'D'], ['E', 'F', 'G', 'H'], ['I', 'J', 'K', 'L'], ['M', &
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值