数据处理库Pandas(简单操作)
1.pandas介绍
1.什么是pandas
pand - panel data为面板数据
as - analysis为分析
综上所述为面板数据分析。面板数据为三维数据。但是目前由于pandas的发展,现在三维数据结构panel已经不经常使用了。
2.为什么用pandas
这里我们之前的博客中已经讲解了numpy和matplotlib库,一个用来计算,一个用来数据可视化,那么我们为什么还介绍pandas?原因在于,pandas比numpy显示的数据更全面,展现的是存在行索引和列索引的ndarray。对于matplotlib来讲,pandas可以利用极简的代码来可视化。注意这里pandas的底层也是numpy库和matplotlib库
3.pandas的数据结构
1.series:含有行索引的一维数组
2.dataframe:series的容器,既有行索引,又有列索引
3.panel:dataframe的容器
2.dataframe属性和方法
属性:
1.shape属性
2.index属性
3.columns属性
4.values属性,返回的是一个二维数组ndarray,不带有索引
5.T属性,返回行列转换的二维表(dataframe)
方法:
1.head(),查看头样本,如果不传入数值,那么返回前五行的样本
2.tail(),查看尾样本,如果不传入数值,那么返回后五行的样本
3.dataframe索引设置
1.dataframe.index =
2.dataframe.reset_index(),不常用
3.dataframe.set_index(),不常用
4.series属性和方法
1.index属性
2.values属性
3.head方法
4.tail方法
5.索引操作
1.直接索引
df['行名称']['列名称']
注意这里如果想直接索引的话,要先行后列的顺序进行。
2.名称索引
df.loc['行名称', '列名称']
注意,这里的索引方法就是包含前,也包含后。
3.数值索引
df.iloc[行索引,列索引]
注意,这里的索引方式就是包含前不包含后。
4.复合索引
df.ix[行索引,'列名称']
注意:这个方法目前已经不建议使用了。
6.赋值和排序
1.赋值:索引 ——》赋值
这里需要注意的是,我们只能通过名称索引和数值索引才能进行赋值,直接索引是不能赋值的。总的来讲就是赋值只能通过loc或者iloc进行。
2.排序:
1.按照value索引
sort_values(by=, ascending=)
by:传入列索引或者传入一个由列索引组成的列表,按照顺序进行排序。
ascending:传入bool值,指定从大到小或者从小到大。
2.按照index索引
sort_index()
dataframe属性
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])
print(data_df.head())
print('shape属性:\n', data_df.shape)
print('columns属性:\n', data_df.columns)
print('index属性:\n', data_df.index)
print('values属性:\n', data_df.values)
输出:
red yellow purple green black 样本1 -0.091950 -1.463351 1.081792 -0.239325 -0.491129 样本2 -1.002272 0.918822 -1.103632 0.626493 -0.561514 样本3 0.028855 -0.230767 0.587752 0.752318 -1.058503 样本4 1.055972 0.747750 1.064677 1.520130 -1.488603 样本5 1.859990 -1.598613 -0.646074 0.337325 1.046729shape属性:(10, 5) columns属性:Index(['red', 'yellow', 'purple', 'green', 'black'], dtype='object') index属性:Index(['样本1', '样本2', '样本3', '样本4', '样本5', '样本6', '样本7', '样本8', '样本9', '样本10'], dtype='object') values属性:[[-0.09194992 -1.46335065 1.08179168 -0.23932517 -0.49112914][-1.00227201 0.9188215 -1.1036321 0.62649346 -0.56151378][ 0.02885512 -0.23076719 0.58775221 0.75231758 -1.05850255][ 1.05597241 0.74775027 1.06467659 1.52012959 -1.48860294][ 1.85998989 -1.59861303 -0.64607361 0.337325 1.04672873][ 0.62914334 0.36305909 0.5557497 -1.08854953 0.02369477][ 2.49917664 -2.49003039 -0.23486239 -0.09756346 -0.88652934][-0.13671324 0.10197893 -0.25092954 -0.0788123 -1.08516417][ 0.59492845 -0.63890807 -1.10783686 2.10614576 -0.56738777][-0.47994979 -1.92322986 0.39958854 -1.04818387 -0.6938787 ]]
dataframe方法
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])# head()方法
# data_df.head(3)
# tail()方法
data_df.tail()
输出:
red yellow purple green black 样本6 0.629143 0.363059 0.555750 -1.088550 0.023695 样本7 2.499177 -2.490030 -0.234862 -0.097563 -0.886529 样本8 -0.136713 0.101979 -0.250930 -0.078812 -1.085164 样本9 0.594928 -0.638908 -1.107837 2.106146 -0.567388 样本10 -0.479950 -1.923230 0.399589 -1.048184 -0.693879
dataframe索引设置
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])# 方式一:利用dataframe的index属性和columns属性,最常用的方法
data_df.index = ['样本{}__'.format(i) for i in range(1, 11)]
print(data_df)# 方式二:重新设置索引reset_index(),这种方法不常用。# 方式三:设置索引set_index(),这种方法也不常用。# 不常用的方法,就不讲解了。
输出:
red yellow purple green black 样本1__ -0.091950 -1.463351 1.081792 -0.239325 -0.491129 样本2__ -1.002272 0.918822 -1.103632 0.626493 -0.561514 样本3__ 0.028855 -0.230767 0.587752 0.752318 -1.058503 样本4__ 1.055972 0.747750 1.064677 1.520130 -1.488603 样本5__ 1.859990 -1.598613 -0.646074 0.337325 1.046729 样本6__ 0.629143 0.363059 0.555750 -1.088550 0.023695 样本7__ 2.499177 -2.490030 -0.234862 -0.097563 -0.886529 样本8__ -0.136713 0.101979 -0.250930 -0.078812 -1.085164 样本9__ 0.594928 -0.638908 -1.107837 2.106146 -0.567388 样本10__ -0.479950 -1.923230 0.399589 -1.048184 -0.693879
Series的属性和方法
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])sr = data_df.iloc[0, :]print(sr)
print(sr.index)
print(sr.values)
print(sr.head())
print(sr.tail())
输出:
red -0.091950 yellow -1.463351 purple 1.081792 green -0.239325 black -0.491129 Name: 样本1, dtype: float64 Index(['red', 'yellow', 'purple', 'green', 'black'], dtype='object') [-0.09194992 -1.46335065 1.08179168 -0.23932517 -0.49112914] red -0.091950 yellow -1.463351 purple 1.081792 green -0.239325 black -0.491129 Name: 样本1, dtype: float64 red -0.091950 yellow -1.463351 purple 1.081792 green -0.239325 black -0.491129 Name: 样本1, dtype: float64
索引操作
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 4))
data_df = pd.DataFrame(data, index=['样本{}'.format(i) for i in range(1, 11)], columns=['red', 'yellow', 'purple', 'green'])# 1.直接索引
print(data_df['red'][0])# 2.名称索引
print(data_df.loc['样本1': '样本5', 'red':'green'])# 3.数值索引
print(data_df.iloc[0: 5, 0: 3])# 4.混合索引
# print(data_df.ix[0: 5, 'red':'green'])
# 在我使用的pandas的版本中ix方法已经不能使用了
输出:
-0.0919499198651913red yellow purple green 样本1 -0.091950 -1.463351 1.081792 -0.239325 样本2 -0.491129 -1.002272 0.918822 -1.103632 样本3 0.626493 -0.561514 0.028855 -0.230767 样本4 0.587752 0.752318 -1.058503 1.055972 样本5 0.747750 1.064677 1.520130 -1.488603red yellow purple 样本1 -0.091950 -1.463351 1.081792 样本2 -0.491129 -1.002272 0.918822 样本3 0.626493 -0.561514 0.028855 样本4 0.587752 0.752318 -1.058503 样本5 0.747750 1.064677 1.520130
赋值与排序
代码:
import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 4))
df = pd.DataFrame(data, columns=['red', 'yellow', 'balck', 'green'])# 赋值操作
df.loc['4', :] = 100# 元素排序排序操作
df1 = df.sort_values(by=['red', 'yellow'], ascending=[False, True]) # red从大到小排序, yellow从大到小
print(df1)# 索引排序操作
# df2 = df.sort_index() # 索引从小大到大排序
# help(df1.sort_index)df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])print(df.sort_index())
输出:
red yellow balck green 4 100.000000 100.000000 100.000000 100.000000 5 1.859990 -1.598613 -0.646074 0.337325 6 1.046729 0.629143 0.363059 0.555750 4 0.747750 1.064677 1.520130 -1.488603 2 0.626493 -0.561514 0.028855 -0.230767 3 0.587752 0.752318 -1.058503 1.055972 9 0.101979 -0.250930 -0.078812 -1.085164 0 -0.091950 -1.463351 1.081792 -0.239325 8 -0.234862 -0.097563 -0.886529 -0.136713 1 -0.491129 -1.002272 0.918822 -1.103632 7 -1.088550 0.023695 2.499177 -2.490030A 1 4 29 2 100 1 150 5 234 3
学习地址:
黑马程序员Python教程,4天快速入门Python数据挖掘,系统精讲+实战案例_哔哩哔哩_bilibili
数据处理库Pandas(简单操作)相关推荐
- python使用教程pandas-Python 数据处理库 pandas 入门教程基本操作
pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有表现力的数据结 ...
- Python数据处理库pandas中的DataFrame数据结构简介
pandas 中有两大 数据结构 Series和 DataFrame. 本文主要介绍DataFrame的用法.DataFrame可以处理 表格数据. Series介绍在 Python数据处理库pand ...
- python做数据处理软件_程序员用于机器学习编程的Python 数据处理库 pandas 入门教程...
入门介绍 pandas适合于许多不同类型的数据,包括: · 具有异构类型列的表格数据,例如SQL表格或Excel数据 · 有序和无序(不一定是固定频率)时间序列数据. · 具有行列标签的任意矩阵数据( ...
- python处理金融数据_Python 数据分析中金融数据的来源库和简单操作
金融数据 数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法. pandas-datareader pandas-datareader 库包含了全球最著名的几家公司所整理的金融数据,这 ...
- TortoiseSVN搭建本地版本库及简单操作使用
TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创 ...
- 2022 新版本c++安装opencv库的简单操作教程
近期选修了计算机视觉 的课程,正好更新一下最新的cpp下的opencv库的教程. 废话少说干货降临: 1. 网站下载解压对应opencv库 这里我们推荐官网下载:https://opencv.org/ ...
- Python的pandas简单操作
import numpy as np import pandas as pd titanic_survival=pd.read_csv('titanic_train.csv') new_titanic ...
- 【Python 爬虫】requests库的简单操作
一.get请求 import requestsif __name__ == '__main__':response = requests.get(url='http://www.baidu.com/' ...
- 数据分析处理库Pandas——merge操作
有一列列名相同值也相同 有两列列名相同值也相同 按其中一列合并 按两列合并 有一列列名相同值也相同,有一列列名相同值不相同,按两列合并 列名相同值不相同的行删掉 保留所有行 保留所有行并显示合并后该值 ...
最新文章
- “半价买2080Ti”,英伟达发布RTX 30系列显卡,性能翻倍价格更低,网友高呼“NVIDIA YES”...
- 【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )
- vue打包后图片路径错误
- CodeForces - 1526D Kill Anton(模拟)
- 基本类型和字符串互相转换
- 使用JBoss Fuse和OpenShift进行Cloud Native Camel骑行
- 《深入浅出DPDK》读书笔记(一):基础部分知识点
- zedboard实现流水灯
- ICESat2学习笔记4 :Windows下使用HDFView查看ICESat-2 hdf5文件
- 多功能扫描仪设备 可识别护照
- 儋州“炰米”:美味的特制粮食
- java phaser,java线程之Phaser
- 计算机主机只有一块硬盘,电脑双硬盘只显示一个怎么办
- LINUX NVME SSD 大容量存储设计
- vue使用高德地图aMap实现轨迹动画查询显示
- OpenCV — 人脸识别
- msconfig打不开,运行找不到msconfig解决办法
- Datawhale零基础入门NLP day5/Task5基于深度学习的文本分类2
- ROS MarkerArray的几种常见用法
- 2021 谷歌浏览器等无法下载android studio