第一章 Python 机器学习入门之pandas的使用
前言
本博客使用真实的数模国赛数据来学习使用pandas特有的dataframe,series,panel等数据结构
一、pandas内置数据结构是什么?
pandas 是基于NumPy 的一种工具,常常用于对excel,csv,json,html,xml等常见的数据类型,解决数据分析任务而创建的。其有dataframe(类似表格),series(类似数组),panel(类似excel的多sheet)的三中数据结构。
二、使用步骤
1.dataframe
二维、大小可变、潜在的异构表格数据。
数据结构还包含带标签的轴(行和列)。算术运算在行标签和列标签上对齐。可以将其视为系列对象的类似字典的容器
这里colunms_aij是一个二维数组
colunms_aij二维数组
import numpy as np
import pandas as pd
pd.DataFrame(colunms_aij)
这里的data是一个字典转化为二维表格
data字典
data_table=pd.DataFrame(data)
data_table
# 再添加一列,列名任务编号
其他python 数据结构转化看文档不在赘述
2.series
Series是一个一维标记数组,能够保存任何数据类型(整数,字符串,浮点数,Python对象等)。轴标签统称为索引。创建 Series 的基本方法是调用:
member_id= member['会员编号']
member_GPS =member['会员位置(GPS)'].str.split()
pd.Series(member_GPS)
使用数组值与自定义下标来构成一维数据,如果没有设置下标则会自动设置
# we use pandas fluently must import numpy library
from operator import index
import numpy as np
import pandas as pd
# the series is likes array
object1=pd.Series([1,4,5,2])
print(object1)
my_index,my_values=['a','v','c','g'],np.arange(4)
obj2=pd.Series(my_values,index=my_index,name='my_arr')
print(obj2)
使用字典来构成series一维数组
dit={'tom':22,'lisa':19,'mark':18,'li':20,'wang':20}
my_dit=pd.Series(dit)
my_dit
不同索引数据的自动对齐
states=['California','tom','lisa','mark','jone']
my_List=pd.Series(dit,index=states)
my_List
# print(my_List+my_dit)
3.panel
自 Pandas 0.25 版本后, Panel 结构已经被废弃,现在基本用不到
Panel 是一个用来承载数据的三维数据结构,它有三个轴,分别是 items(0 轴),major_axis(1 轴),而 minor_axis(2 轴)。这三个轴为描述、操作 Panel 提供了支持,其作用介绍如下:
- items:axis =0,Panel 中的每个 items 都对应一个 DataFrame。
- major_axis:axis=1,用来描述每个 DataFrame 的行索引。
- minor_axis:axis=2,用来描述每个 DataFrame 的列索引。
import numpy as np
import pandas as pd
p = pd.Panel()
print(p)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) c:\Users\Administrator\Desktop\学习作业备份\数学建模合辑\空气质量监测\问题一.ipynb Cell 9 in <cell line: 3>() 1 import numpy as np 2 import pandas as pd ----> 3 p = pd.Panel() 4 print(p) File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pandas\__init__.py:261, in __getattr__(name) 257 from pandas.core.arrays.sparse import SparseArray as _SparseArray 259 return _SparseArray --> 261 raise AttributeError(f"module 'pandas' has no attribute '{name}'") AttributeError: module 'pandas' has no attribute 'Panel'
总结
以上就是今天内容,本文仅仅简单介绍了pandas的内置数结构i使用,而灵活的使用数据结构能使我们快速便捷地处理数据的函数和方法,详细还请看文档