pandas

人工智能31

Python库-Pandas基础应用

前言

Pandas是属于Python的,主要用于数据分析的库。Pandas的应用十分广泛,不管是机器学习,还是大数据分析、数据挖掘,只要是涉及数据,Pandas的使用几乎是绕不开的。

而学习Python的小伙伴们应该都有所了解,Python应用最广泛的领域无非就是AI,数据处理这些,因此,学会处理数据的利器——Pandas就更是有必要了。

本篇文章主要涉及Pandas的最基础应用,主要目的在于帮助初学者解惑,并且帮助掌握一定程度的朋友做查询之用。因此,本篇文章会做到把各个点清晰分开,主要以提供相关操作所需的代码为主,少量个人见解为辅。

本文将主要讲解以下有关Pandas的点:

  • Pandas基础操作
  • 索引初阶操作
  • Groupby操作
  • 数值运算

基础操作

导入

import pandas as pd

导入Pandas,并以pd来指代它。

读取数据

Pandas可以从不同后缀名的文件中读取数据,但最常用的还是从csv文件中读取数据,以下是利用Pandas读取数据的代码。

df = pd.read_csv('./temps.csv')

这里要切记的就是pd.read_csv和文件后缀名的csv不可遗漏。该行代码的意思就是:将与本Python相同路径下的、名叫temps.csv的文件里的数据导入,储存到df中。

DataFrame基本信息

就像numpy有ndarray格式,pytorch有torch格式,DataFrame是属于Pandas的格式,这里暂时不需要理解它们究竟有什么区别,只需要知道要想执行Pandas的操作必须要用Pandas的格式。

数据显示

以下是导入后的DataFrame数据的格式

pandas

我们可以看到已经导入了300多行数据,我们肯定不需要直接读取这多行,所以导入数据后,我们可以选择只看几行。

[En]

We can see that more than 300 rows of data have been imported, and we certainly do not need to read these multiple rows directly, so after importing the data, we can choose to watch only a few rows.

df.head(10)

该代码的意思是:只显示前十行的数据,不加参数时默认是5。

; 索引

df.index #返回行的索引

pandas

列名

df.columns #返回列名
pandas

; 全部基本信息

df.info()
pandas

这里可以看到df里数据的几乎一切基本信息,从之前的行数、列名、索引,包括之前没提到的一些信息也有,像数据类型等等。

也可以像下面这样

df.describe()

pandas
而里面的max,min这些数值,也可以使用df.max()等函数单独调出来。
pandas
一般默认是一列之中的数在一起比较,但可以通过指定axis的方式来改变。

转换为ndarray格式

df = df.values

经过这行代码后,df就不再是DataFrame格式,而是ndarray格式。

因为很多计算都是通过numpy来进行的,所以将导入的数据转换为ndarray格式是必不可少的一步。

DataFrame基本操作

创建DataFrame结构

创建DataFrame结构的方式有以下两种:

data = pd.DataFrame({'name':['Zhangsan','Lisi','Luowu'],'age':[34,32,28]})
pandas

data = [[1,2,3],[4,5,6]]
index = ['a','b']
columns = ['A','B','C']
df = pd.DataFrame(data=data,index=index,columns=columns)

pandas

创建DataFrame结构要用到pd.DataFrame函数。上面两种方法里,第一种是往函数里传入一个字典结构,字典的key会成为DataFrame结构的列名,value则会成为这一列上的数据。

第二种方法是分别设置每行的索引、每行的元素和列名。这里的索引不是数字,而是使用字符。

[En]

The second method is to set the index of each row, the element of each row, and the column name respectively. The index here is not a number, but uses characters instead.

Series结构

取出DataFrame的一列或一行,就是Series结构。

df_series = df['A']

这里的'A'是列名,会把'A'这一列的元素赋给变量df_series。Series结构具有DataFrame的功能。

如果想调出多个列得数据的话,可以执行以下操作:

df_series = df[['A','B']]

这里要注意的就是别漏了中括号。

运算操作

Pandas里的运算和numpy运算的用法并没有太大差别,它们同样都可以运用广播。

df = df + 1
df = df*2
df = df/2

以上操作都会同时作用到每一个元素。

索引

数字索引

DataFrame的索引一般为从0开始的数字,每一行从上往下索引不断增大。

如果要通过索引调出一行数据,不能直接输入索引号,否则会报错。

[En]

If you want to call up a row of data through the index, you can't enter the index number directly, otherwise an error will be reported.

想要通过数字索引调出数据的方法有以下两种:

  • 利用切片
  • 使用iloc

pandas
pandas
虽然这里显示的不同,但它们存储的数据相同,格式也是相同的。

[En]

Although shown here is different, but they store the same data, and the format is also the same.

; 字母索引

data = [[1,2,3],[4,5,6]]
index = ['a','b']
columns = ['A','B','C']
df = pd.DataFrame(data=data,index=index,columns=columns)

用该方法创建出来的df就是以字母为索引。但是字母索引并不能直接使用。

如果要使用字母索引,必须要使用loc。

df.loc['a']

pandas

修改索引

可以直接修改索引的名称

df.index = ['red','blue']

pandas
也可以直接把索引给全部换了

df_index = df.set_index('A')

这样的话'A'列下的元素就会成为每一行的索引,使用df_index.loc[]的方法就可以调用每一行的数据。
pandas

groupby操作

groupby是将某一列中相同的元素进行分组,然后可以进行求和、求均值等操作。

pandas

Original: https://blog.csdn.net/weixin_63053052/article/details/123535961
Author: 红龙96
Title: pandas



相关阅读

Title: TensorFlow GPU最完整的安装方法

自己这几天更换电脑,再加上前次旧电脑学习,安装了好几次TensorFlow,每次都遇到了一些问题,经常缺一些文件,在网上下载文件还很慢,走了不少弯路,特将完整的安装方法记录如下,以便后续使用,也供同行参考。

TensorFlow的学习需要有专门的Nvida的GPU显卡的电脑,GPU的显存最好在4G以上,我以前那台电脑只有1G显示只能学习一些非常初级模型,稍微复杂的模型就无法运行。对于没有GPU独显的同学,可以使用百度的AI Studio,上面提供免费的GPU服务器,每天可以免费使用8小时,并且直接安装好百度的PaddlePaddle,系统已经配置好,也可以快速学习人工智能。

一、了解显卡性能及支持的CUDA版本

可以在终端界面,通过nvidia-smi命令查看你的也显卡信息,查看你的电脑是上否有支持CUDA的显卡及相应的型号、显存。
pandas
也可以在控制面板中找NVIDIA Control Panel程序,升级Windows 11后发现控制面板中没有NVIDIA的控制面板了,可以在开启程序中通过查找找到。
pandas
在NVIDIA控制面板中,通过帮助查单–>系统信息–>组件,找到如下图所示NVCUDA64.dll程序所对应的版本,就是你计算机上CUDA能支持的版本,后续在下载CUDA时一定要与此相匹配,避免兼容性和莫名其妙的问题出现。我的笔记本是新的,显卡是Geforce Rtx 3060,安装的CUDA驱动程序是11.2版本,后续要查找与之对应的CUDA、CUDNN、Tensorflow-GPU版本进行安装,否则会出现不匹配的情况。pandas

; 二、确定TensorFlow与Python版本

在TensorFlow官网的安装指南给出了TensorFlow、Python、CUDA对应的版本,我在前期学习中,由于安装版本问题,走了不少弯路。具体请参阅。pandas
根据前面查询到的CUDA版本11.2,我决定尽可能安装高一些版本的工具,以减少后续组件升级的工作量,因此我确定安装cudnn 8.1,python 3.9,tensorflow 2.6作这台新电脑的研究环境。对于python和tensorflow可以不同项目使用不同的版本,自己后续可以根据项目需要进行调整,但需要尽可能在上图官方已经测试的版本中选择,否则可能出一些兼容性问题。

三、安装CUDA及cuDNN

1、CUDA及cuDNN下载

CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

CUDA看作是一个工作台,cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。

CUDA下载链接为:https://developer.nvidia.com/cuda-toolkit-archive,找到第一章信息对应的板版本。如下图所示,没有对应的Windows11版本,可以用Windows 10对应的版本可以安装和使用。文件比较大,请使用迅雷等下载工具下载,否则容易下载失败。另下载注意使用Local全部下载,后续查找缺少的Dll文件需要。pandas
cuDNN的下载需要注册一下Nvidia开发帐号才能下载,下载地址为:https://developer.nvidia.com/cudnn。根据网站提示,先用邮箱注册一个开发者帐号,登录后出来下载下载页面,根据第二章确定的cuDNN版本,从归档历史库下载你计算机匹配的cuDNN版本。pandas
2、CUDA安装

安装cuda时,第一次会让设置临时解压目录,第二次会让设置安装目录;临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除。

安装目录,可以使用默认路径,也可以使用指定路径,关注一下安装路径,后续需要手工将几个程序所在路径加到系统环境变量的path参数中,以便于python程序调用。pandas
CUDA安装过程比较简单,安装完后,将下面几个目录加到系统环境变量的path参数中,以使用python程序调用对应的程序和dll库。

CUDA文件比较大,如果你的计算机硬盘空间足够,建议用自定义选项,全部安装,避免少文件。我的计算机是SSD硬盘,空间不大,采用的是基本安装,在使用时发现少很多文件,刚开始是到网上DLL库上找并下载使用,发现存在文件不全且版本不对应情况,通过修改文件名勉强可以使用,但可能存在兼容性问题。pandas
后面用winrar打开CUDA安装exe文件,可以通过查找功能找到缺少的文件,解压后放在cuda安装目录的bin文件目录下即可。红线文件是CUDA缺少的文件,绿线文件是下一步cuDNN解压拷贝的文件。pandas
3、cuDNN安装

cuDNN是一些动态库文件,用解压缩软件打开,直接解压到前面一条CUDA的安装路径即可,解压后注意确认好文件的路径。此外,注意文件版本,与第2章找到的对应表对应。pandas

四、Python安装

1、Python文件下载

Python下载网站:https://www.python.org/downloads/。Python下载文件不是很好找,容易跳乱,各版的下载导航连接在页面下部,参见下图。pandas
同样,下载文件也是在页面下部,根据自己需要的版本、操作系统找到对应的安装文件,Python安装文件不大,下载很快。pandas
2、Python安装

Python安装时,注意先将下面的增加Python 3.9到path勾选上,避免后续手工添加,另外建议用自定义安装,将python安装到一个简单、短一点的目录,后续经常要用到。pandas
将python安装到C:\python目录, 同时将install for all users选项选中。pandas
python安装成功后,可以在CMD终端下,用python命令进入,检查版本以及是否可用。

五、TensorFlow安装

先在Pycharm中建立一个项目,如果你使用的是其它开发工具,在你对应工具中创建项目。我这儿直接使用的是Virtualenv虚拟环境,使用要简单一些,前面使用过Anaconda,没有感觉到太大优势,问题还不少,这次就直接使用Pycharm的虚拟环境,感觉要简单一些。pandas
注意选择Python解释器,如果你计算机上有多个python要选择与项目兼容的版本。

TensorFlow可以在具体项目中用pip安装,也可以用pycharm的工具安装,注意选择你电脑显卡能支持与兼容的版本,根据第二章,我选择的是2.6版本。pandas
注意安装的是tensorflow-gpu,选择指定的版本,此处选择的是2.6.0,我试过用最新的2.7.0不兼容,无法使用。当前你也可以根据项目前期使用的版本选择对应的TensorFlow版本。此外还要注意对应的python、cuda版本,都要匹配才能正常使用。pandas
TensorFlow安装的包比较多,速度比较慢,建议提前将pip.ini、pycharm的更新仓库都改为国内镜像:(https://pypi.tuna.tsinghua.edu.cn/simple/)。pandas

六、TensorFlow及GPU验证

在项目中创建一个测试文件test.py,以下几行代码即可。

import tensorflow as tf
if tf.test.gpu_device_name():
    print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
    print("Please install GPU version of TF")

运行test.py如下所述,系统提示运行成功,并显示出GPU的型号,计算能力,我的显卡计算能力为8.6,感觉性能应该还不错,后面根据程序实际的计算性能再发分享报告。

C:\Users\86139\PycharmProjects\test3\venv\Scripts\python.exe C:/Users/86139/PycharmProjects/test3/test.py
2021-11-13 19:50:40.703464: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.

Default GPU Device: /device:GPU:0
2021-11-13 19:50:42.588444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 3495 MB memory:  -> device: 0, name: GeForce RTX 3060 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6
2021-11-13 19:50:42.589427: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 3495 MB memory:  -> device: 0, name: GeForce RTX 3060 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6
Process finished with exit code 0

通过安装上述工具,你可以在自己的电脑上进行人工智能的基础学习和研究。

[En]

Through the installation of the above tools, you can do basic learning and research on artificial intelligence on your own computer.

Original: https://blog.csdn.net/wujize/article/details/121329897
Author: 海盐老伍
Title: TensorFlow GPU最完整的安装方法

相关文章
强化学习Gym入门 人工智能

强化学习Gym入门

Gym 是一个用于开发和比较强化学习算法的工具包。它不假设您的代理的结构,并且与任何数值计算库兼容,例如 TensorFlow 或 Theano。 该体育馆库的测试问题收集-环境-你可以用它来计算出你...