1 简介
DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种 二维表。
或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。
同时DataFrame可以设置列名 columns与行名 index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位,具体方法在后面细说。
2 创建DataFrame
首先声明一下,以下都是使用的Python 3.6.5版本为例,Python2应该也差不多吧(大概
在所有操作之前当然要先import必要的pandas库,因为pandas常与numpy一起配合使用,所以也一起import吧。
import pandas as pd
import numpy as np
如果还没安装直接在cmd里pip安装吧,如果有版本选择问题,参看之前的帖子。
pip install pandas
pip install numpy
2.1 直接创建
可以直接使用pandas的 DataFrame函数创建,比如接下来我们随机创建一个4*4的DataFrame。
df1=pd.DataFrame(np.random.randn(4,4),index=list('ABCD'),columns=list('ABCD'))
其中第一个参数是存放在DataFrame里的数据,第二个参数index就是之前说的行名(或者应该叫索引?),第三个参数columns是之前说的列名。
后两个参数可以使用list输入,但是注意,这个list的长度要和DataFrame的 大小匹配,不然会报错。当然,这两个参数是可选的,你可以选择不设置。
而且发现,这两个list是可以一样的,但是每行每列的名字在index或columns里要是 唯一的。
使用python自己的shell展示创建的结果是这样的:
或者在jupyter里面更酷点的样子,接下来都使用jupyter输出展示吧。
当然,如果你的数据量贼小,也可以自己输入创建,类似这样。
df2=pd.DataFrame([[1,2,3,4],[2,3,4,5],
[3,4,5,6],[4,5,6,7]],
index=list('ABCD'),columns=list('ABCD'))
这样也可以得到这样子的DataFrame:
2.2 使用字典创建
仍然是使用DataFrame这个函数,但是字典的每个key的value代表一列,而key是这一列的列名。比如这样。
dic1={'name':['小明','小红','狗蛋','铁柱'],'age':[17,20,5,40],'gender':['男','女','女','男']}
df3=pd.DataFrame(dic1)
输出结果是这样的
3 查看与筛选数据
python没有matlab的工作区直接查看变量与内容,这大概是python科学计算的一个缺点。所以需要格外的代码来查看,最基本的直接写变量名与print就不说了。
3.1 查看列的数据类型
使用dtypes方法可以查看各列的数据类型,比如说刚刚的df3。
df3.dtypes
输出的结果是这样:
3.2 查看DataFrame的头尾
使用head可以查看前几行的数据,默认的是前5行,不过也可以自己设置。
使用tail可以查看后几行的数据,默认也是5行,参数可以自己设置。
比如随意设置一个6*6的数据,只看前5行。
df4=pd.DataFrame(np.random.randn(6,6))
df4.head()
比如只看前3行。
df4.head(3)
比如看后5行。
df4.tail()
比如只看后2行。
df4.tail(2)
3.3 查看行名与列名
使用index查看行名,columns查看列名。具体由例子感受吧。
查看行名。
df1.index
查看列名。
df3.columns
3.4 查看数据值
使用values可以查看DataFrame里的数据值,返回的是一个数组。
比如说查看所有的数据值。
df3.values
比如说查看某一列所有的数据值。
df3['name'].values
还有另一种操作,使用loc或者iloc查看数据值(但是好像只能根据行来查看?)。区别是loc是根据行名,iloc是根据数字索引(也就是行号)。
比如说这样。
df1.loc['A']
或者这样。
df1.iloc[0]
*[En]*
**
df3['name']
3.5 查看行列数
使用shape查看行列数,参数为0表示查看行数,参数为1表示查看列数。
df3.shape[0]
df3.shape[1]
4 基本操作
DataFrame有些方法可以直接进行数据统计,矩阵计算之类的基本操作。
4.1 转置
直接字母T,线性代数上线。
比如说把之前的df2转置一下。
df3.T
4.2 描述性统计
使用describe可以对数据根据列进行描述性统计。
比如说对df1进行描述性统计。
df1.describe()
如果有的列是非数值型的,那么就不会进行统计。
如果想对行进行描述性统计,请参看4.1(转置后进行describe呀!)
4.3 计算
使用sum默认 对每列求和,sum(1)为 对每行求和。比如
df3.sum()
可以发现就算元素是字符串,使用sum也会加起来。
df3.sum(1)
而一行中,有字符串有数值则只计算数值。
数乘运算使用apply,比如。
df2.apply(lambda x:x*2)
如果元素是字符串,则会把字符串再重复一遍。
乘方运算跟matlab类似,直接使用两个*,比如。
df2**2
乘方运算如果有元素是字符串的话,就会报错。
4.4 新增
扩充列可以直接像字典一样,列名对应一个list,但是 注意list的长度要跟index的长度一致。
df2['E']=['999','999','999','999']
df2
还可以 使用insert,使用这个方法可以指定把列插入到第几列,其他的列顺延。
df2.insert(0,'F',[888,888,888,888])
df2
4.5 合并
使用join可以将两个DataFrame合并,但只根据行列名合并,并且以作用的那个DataFrame的为基准。如下所示,新的df7是以df2的行号index为基准的。
df6=pd.DataFrame(['my','name','is','a'],index=list('ACDH'),columns=list('G'))
df6
df7=df2.join(df6)
df7
但是,join这个方法还有 how这个参数可以设置,合并两个DataFrame的交集或并集。参数为' inner'表示交集,' outer'表示并集。
df8=df2.join(df6,how='inner')
df8
df9=df2.join(df6,how='outer')
df9
如果要合并多个Dataframe,可以用list把几个Dataframe装起来,然后 使用concat转化为一个新的Dataframe。
df10=pd.DataFrame([1,2,3,4],index=list('ABCD'),columns=['a'])
df11=pd.DataFrame([10,20,30,40],index=list('ABCD'),columns=['b'])
df12=pd.DataFrame([100,200,300,400],index=list('ABCD'),columns=['c'])
list1=[df10.T, df11.T, df12.T]
df13=pd.concat(list1)
df13
Original: https://www.cnblogs.com/IvyWong/p/9203981.html
Author: 败北桑
Title: Pandas 库之 DataFrame
相关阅读
Title: tensorflow-gpu版本安装教程(过程详细)
准备工作:
在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。
使用pip卸载的命令如下:
pip uninstall tesnsorflow
pip uninstall tensorboard
...
一般安装过python都会自带pip,如果电脑还没有安装python,可以去官网下载相应版本,推荐python3.8以上版本。
正式安装:
第一步:安装cuda
1.首先查看本机GPU对应的cuda版本,如下图所示,本机cuda版本为11.5,后面选择的cuda版本不要超过这里的版本就好。
2.检查完cuda之后,进入https://developer.nvidia.com/cuda-toolkit-archive该网站选者相应的cudatoolkit版本下载(tensorflow-gpu用到cudatoolkit,没必要把整个cuda都下载下来),如图所示,本机选择下载的版本为10.1,这里选择版本一定要注意,因为cuda版本会决定你下载的cudnn和tensorflow-gpu版本,若不一致,会出现版本不匹配等问题,无法使用,详细情况下面阐述。
3.下载完cuda之后
①双击安装包,此时会出现一个提示框,让你选择临时解压位置(该位置的内容在你安装完cuda之后会自动删除),这里默认即可,点击ok。
②完成上一步后,选择自定义,然后点下一步。
③完成上一步,这里CUDA一定要勾选上,下面的可选可不选,对后续没有影响。
④然后一直下一步,等待安装结束(中间让选择安装位置时,可以更改目录,最好只改前面的盘符,后面的文件夹保持一致,方便以后管理)。
⑤完成安装后,检查一下环境变量是否存在,一般安装完成会自动配置好环境变量,若是没有,则需手动配置,具体过程如下。
a.打开电脑属性,找到高级系统设置,选择环境变量打开。
b.查看是否有以下环境变量,没有则需要自行添加,对应图片上的名称和值,配置你电脑CUDA安装所在的位置。
c.打开系统变量的Path,查看是否有一下两条内容,若没有则需自行添加,一定要配置对安装的位置。
CUDA的安装就结束了,接下来下载解压cuDNN文件。
第二步:安装cuDNN
打开该网址https://developer.nvidia.com/rdp/cudnn-archive,第一次单击下载时,会让你先注册登录,然后再进行下载,注册过程认真填写内容就没问题,此处略过,接下来进入下载环节。
①首先,根据安装的CUDA版本下载对应的cuDNN版本,以及对应的tensoflow-gpu版本、python版本都从这里查看,详细信息查看该网址https://tensorflow.google.cn/install/source_windows。
因为本机安装的CUDA10.1版本,所以选择cuDNN7.6进行下载,下面红框中的都可以选择。
②下载完成后,解压此文件,将cudnn文件中对应的文件移动到cuda对用安装目录中,注意不要移动到错误的位置。
解压的 cudnn文件安装的cuda目录bin\cudnn64_7.dll文件—>D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin中include\cudnn.h文件—>D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include中lib\x64\cudnn.lib文件—>D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64中
cuDNN的安装到这就结束了,接下来就要安装期待已久tensorflow-gpu。
第三步:安装tensorflow-gpu
这里将介绍两种安装方式,第一种使用pip直接安装的,第二种使用Anaconda(如果选择这一步,就不需要额外下载python,以及各种常用工具包,它会打包下载好)。
第一种:使用pip直接安装(本机采用该方式)
首先,打开cmd命令行界面,这里建议使用管理员身份打开。
然后,就可以在命令行中输入以下命令进行安装:
pip install tensorflow-gpu==2.3.0 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
后面的后缀使用的是清华镜像,若不是使用,则是从国外网站进行安装,有很大可能下载不下来,导致安装失败,除了清华源,这里再提供几个常用的源。
中科大镜像:https://pypi.mirrors.ustc.edu.cn/simple
豆瓣镜像:http://pypi.douban.com/simple/
阿里镜像:https://mirrors.aliyun.com/pypi/simple/
百度镜像:https://mirror.baidu.com/pypi/simple
注:这里选择的tensorflow-gpu版本要和之前选择的cuda版本对应,对应图在上面。安装过程比较缓慢,耐心等待即可。
到此为止,使用pip安装tensorflow-gpu就结束了,接下来可以进行测试是否可以正常运行,新建一个python文件,输入以下命令,可以使用任何方式运行这段代码(这里使用的是pycharm,若没有则直接进入官网下载即可,十分方便),当出现下图红色内容时,说明成功运行tensorflow-gpu版本。
import tensorflow as tf
tf.autograph.set_verbosity(0)
physical_devices = tf.config.experimental.list_physical_devices('GPU')
print(physical_devices)
config = tf.config.experimental.set_memory_growth(physical_devices[0], True)
第二种:使用Anaconda进行安装(已经使用pip安装成功的,就不需要往下进行了)
关于Anaconda的安装和配置参见下面两篇文章,本文就不再赘述。
https://zhuanlan.zhihu.com/p/75717350
https://blog.csdn.net/ITLearnHall/article/details/81708148
安装完Anaconda后就可以进行tensorflow-gpu的安装了。
以下内容转载https://zhuanlan.zhihu.com/p/339734279中的内容,因为本机并没有采用这种方式安装。
首先,打开cmd命令行界面,按下面步骤进行操作。(建议以管理员身份打开)
1、切换opentuna的pip镜像源。(为了加速下载速度)
pip config set global.index-url https://opentuna.cn/pypi/web/simple
2.创建虚拟环境。输入以下命令(后面跟你电脑安装的python版本)。
conda create -n tensorflow2 python=3.8
3.激活虚拟环境。
conda activate tensorflow2
4.安装tensorflow2.3.0(此处要和你的cuda和cudnn版本相对应)。我们使用pip来安装,pip安装后自带gpu支持,不需要额外安装gpu版本。 我们此处使用pip而不采用conda,是因为conda中版本可能较旧而且作者使用conda后安装失败。如此处自行使用conda后安装失败并不表示本教程有问题!特此提前说明!强烈建议您在此处根据作者建议使用pip!
pip install tensorflow==2.3.0
上诉命令,作者没试过能不能成功使用gpu版本,建议直接使用下面命令安装。
pip install tensorflow-gpu==2.3.0
5.验证安装是否成功。输入以下语句,如果如图所示输出了自己的GPU,则表示安装成功!否则安装失败,请检查步骤后重试或向作者提问。
python
import tensorflow as tf
tf.config.list_physical_devices('GPU')
提示下面内容为安装成功。
Original: https://blog.csdn.net/qq_43215538/article/details/123852028
Author: 指尖在键盘上舞动
Title: tensorflow-gpu版本安装教程(过程详细)