初识pandas(1)Series 的创建DataFrame 的创建

  • Pandas是Python最重要的数据分析工具包,是Panel Data Analysis的缩写,也是目前最为流行的Python数据分析工具。最初被作为金融数据分析工具由全球资产管理公司AQR于2008年4月开发,并于2009年底开源出来。
  • Matplotlib和Seaborn是最为常用的数据可视化的工具包,解决如何通过数据来绘制图表,来更好的展示数据。
  • NumPy是一个用于数值运算的Python库,专门对数值运算进行优化,最大的优势是快。Pandas底层数据结构采用NumPy来实现,我们也可以把Pandas理解成是对NumPy的封装,让数据分析的一些功能的实现变得更容易。

Pandas

安装

pip install pandas

Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 作用:
    • 数据读写
    • 数据整理
    • 数据分析
      Pandas的数据被分为三部分: 行索引(index), 列索引(columns)及数据内容(data).
  • 先写一段代码看一下数据结构
# 导入pandas模块
import pandas

# 通过Series存储每个英雄的基本信息
# 创建Series
s1 = pandas.Series([101, '鲁班', '18', '150.00', '男'])
s2 = pandas.Series([102, '小乔', '19', '167.00', '女'])
s3 = pandas.Series([103, '关羽', '30', '180.00', '男'])
s4 = pandas.Series([104, '大乔', '20', '170.00', '女'])
s5 = pandas.Series([105, '孙策', '22', '185.00', '男'])

series_list = [s1, s2, s3, s4, s5]

# 创建一个DataFrame对象存储通讯录
df = pandas.DataFrame(series_list)

# 打印刚刚构造的DataFrame
print(df)

运行后

D:\study\workon\ScrapyStudy\Scripts\python.exe D:/study/ScrapyStudy/study_pandas/demo1.py
     0   1   2       3  4
0  101  鲁班  18  150.00  男
1  102  小乔  19  167.00  女
2  103  关羽  30  180.00  男
3  104  大乔  20  170.00  女
4  105  孙策  22  185.00  男

Series 的创建

Series是Pandas中最基本的对象,Series类似一种一维数组。事实上,Series 基本上就是基于 NumPy 的数组对象来的。和 NumPy 的数组不同,Series 能为数据自定义标签,也就是索引(index),然后通过索引来访问数组中的数据。

# 导入Series
from pandas import Series, DataFrame

# 创建Series,使用默认索引
sel = Series(data=[101, '鲁班', '18', '150.00', '男'])
print(sel)

打印结果

D:\study\workon\ScrapyStudy\Scripts\python.exe D:/study/ScrapyStudy/study_pandas/demo2.py
0       101
1        鲁班
2        18
3    150.00
4         男
dtype: object

一个Series其实就是一条数据,Series方法的第一个参数是data,第二个参数是index(索引),如果没有传值会使用默认值(0-N)。

加入索引
# 导入Series
from pandas import Series, DataFrame

# 创建Series,使用默认索引
sel = Series(data=[101, '鲁班', '18', '150.00', '男'],
             index=['ID号', '姓名', '年龄', '身高', '性别']
             )
print(sel)

打印结果

D:\study\workon\ScrapyStudy\Scripts\python.exe D:/study/ScrapyStudy/study_pandas/demo2.py
ID号       101
姓名         鲁班
年龄         18
身高     150.00
性别          男
dtype: object

在创建Series时数据并不一定要是列表,也可以将一个字典传进去。

==
当数据是字典的时候,会将字典的键作为索引,字典的值作为索引对应的数据值==

from pandas import Series,DataFrame

# 将字典转换为Series
dic={"red":100,"black":400,"green":300,"pink":900}
se2=Series(data=dic)
print(se2)
red      100
black    400
green    300
pink     900
dtype: int64

index参数是我们自定义的索引值,注意:参数值的个数一定要相同

Series是一组带索引数组,与list相似,一般我们用其承装一条数据或者一行数据。多个Series可组成一个DataFrame

DataFrame 的创建

DataFrame(数据表)是一种 2 维数据结构,数据以表格的形式存储,分成若干行和列。通过 DataFrame,你能很方便地处理数据。
调用DataFrame()可以将多种格式的数据转换为DataFrame对象,它的的三个参数data、index和columns分别为数据、行索引和列索引。DataFrame的数据结构类似Excel或者SQL中表

from pandas import Series, DataFrame

# 创建二维列表存储选手信息
m_list = [['上单', '小明', 20],
            ['打野', '小张', 19],
            ['中单', '九成', 23],
            ['射手', '伽罗', 22],
            ['辅助', '牛牛', 21]]
# 创建dataframe
df = DataFrame(data=m_list)
print(df)
#################################
D:\study\workon\ScrapyStudy\Scripts\python.exe D:/study/ScrapyStudy/study_pandas/demo3.py
    0   1   2
0  上单  小明  20
1  打野  小张  19
2  中单  九成  23
3  射手  伽罗  22
4  辅助  牛牛  21

m_list 是使用一个二维列表,将每一个信息存储到一个列表中

调用DataFrame()将二维列表转换为DataFrame对象,行列索引使用的是默认0-N数字代表。
可以通过给DataFrame构造函数中的参数index,columns传值,来设定DataFrame的中的行列索引的值。

from pandas import Series, DataFrame

# 创建二维列表存储选手信息
m_list = [['上单', '小明', 20],
            ['打野', '小张', 19],
            ['中单', '九成', 23],
            ['射手', '伽罗', 22],
            ['辅助', '牛牛', 21]]
# # 创建dataframe
# df = DataFrame(data=m_list)
# print(df)
# 创建dataframe
df = DataFrame(data=m_list,
               index=['a', 'b', 'c', 'd', 'e'],
               columns=['位置', 'ID号', '年龄'])
print(df)

##################################
D:\study\workon\ScrapyStudy\Scripts\python.exe D:/study/ScrapyStudy/study_pandas/demo3.py
   位置 ID号  年龄
a  上单  小明  20
b  打野  小张  19
c  中单  九成  23
d  射手  伽罗  22
e  辅助  牛牛  21

也可以使用字典来创建一个DataFrame数据

from pandas import Series, DataFrame
import pandas as pd

# 使用字典创建
dic = {
    '位置': ['上单', '打野', '中单', '射手', '辅助'],
    'ID号': ['小明', '小张', '九成', '伽罗', '牛牛'],
    '年龄': [20, 19, 23, 22, 21]}
df = pd.DataFrame(dic)
print(df)

当字典格式的数据被dataframe整理后,字典的键将作为数据的列索引值
通过 DataFrame,能很方便地处理数据。常见的操作比如选取、替换行或列的数据,还能重组数据表、修改索引、多重筛选等。我们基本上可以把 DataFrame 理解成一组采用同样索引的 Series 的集合。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值