AI - MLCC - 04 - 使用TF的基本步骤02 - Pandas 简介

原文链接:https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb

1- Pandas

主要数据结构

  • DataFrame: 数据框架是用于数据操控的一种常用抽象实现形式,可以理解为一个关系型数据表格,其中包含多个行和已命名的列。
  • Series: 单一列。DataFrame 中包含一个或多个 Series,每个 Series 均有一个名称。

2- 示例讲解

源码文件:https://github.com/anliven/Hello-Data/tree/master/Pandas

# coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

print("version: ", pd.__version__)

# ### 显示设置
# 默认情况下,如果DataFrame的行列数量太多,print将只显示部分内容
pd.set_option(‘display.max_columns‘, None)  # 显示所有列
pd.set_option(‘display.max_rows‘, None)  # 显示所有行
pd.set_option(‘max_colwidth‘, 100)  # 设置value的显示长度为100,默认为50

# ### 基本概念
city_names = pd.Series([‘San Francisco‘, ‘San Jose‘, ‘Sacramento‘])  # 构建Series对象
population = pd.Series([852469, 1015785, 485199])  # 构建Series对象
maps = pd.DataFrame({‘City name‘: city_names, ‘Population‘: population})  # 创建DataFrame对象
print("DataFrame: ", "\n", maps)  # 如果Series在长度上不一致,系统会用特殊的NA/NaN值填充缺失的值

california_housing_dataframe = pd.read_csv("Zcalifornia_housing_train.csv", sep=",")  # 将整个文件加载到DataFrame
info = california_housing_dataframe.describe()  # 使用DataFrame.describe来显示关于DataFrame的统计信息
print(info)
info_head = california_housing_dataframe.head()  # 显示DataFrame的前几个记录
print(info_head)

hist = california_housing_dataframe.hist(‘housing_median_age‘)  # 绘制图表:使用DataFrame.hist快速了解一个列中值的分布
print(hist)
plt.show()  # 显示图表

# ### 访问数据
# 以Python的dict/list方式访问DataFrame数据
# 文档: http://pandas.pydata.org/pandas-docs/stable/indexing.html
cities = pd.DataFrame({‘City name‘: city_names, ‘Population‘: population})
print(type(cities[‘City name‘]), type(cities[0:2]), type(cities[‘City name‘][1]))
print(cities)
print(cities[‘City name‘])
print(cities[0:2])
print(cities[‘City name‘][1])

# ### 操控数据
print(population / 1000)  # 可以向Series应用Python的基本运算指令
print(np.log(population))  # Series对象可用作大多数NumPy函数的参数
print(population.apply(lambda val: val > 1000000))  # 创建一个population是否超过100万的新Series对象
# 使用Series.apply进行复杂的单列转换,Series.apply将以参数形式接受 lambda 函数,而该函数会应用于每个值
cities[‘Area square miles‘] = pd.Series([46.87, 176.53, 97.92])  # 向现有DataFrame添加Series
cities[‘Population density‘] = cities[‘Population‘] / cities[‘Area square miles‘]  # 添加Series
cities[‘wide_saint‘] = (cities[‘Area square miles‘] > 50)                                        & cities[‘City name‘].apply(lambda name: name.startswith(‘San‘))  # 添加Series
# 注意:布尔值Series是使用“按位”而非传统布尔值“运算符”组合的,因此执行逻辑与时,应使用&,而不是and
print(cities)

# ### 索引
# 文档:http://pandas.pydata.org/pandas-docs/stable/indexing.html#index-objects
# Series和DataFrame对象定义了index属性,该属性会向每个Series项或DataFrame行赋一个标识符值
# 默认情况下,在构造时,pandas会赋可反映源数据顺序的索引值
# 索引值在创建后是稳定的,不会因为数据重新排序而发生改变
print(city_names.index)
print(cities.index)
# reindex方法
# 文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html
print(cities.reindex([2, 0, 1]))  # 调用DataFrame.reindex来手动重新排列各行的顺序
cities.reindex(np.random.permutation(cities.index))  # 将cities.index传递至NumPy的random.permutation函数,随机排列其值的位置
print(cities)
# reindex方法允许使用未包含在原始DataFrame索引值中的索引值,reindex会为此类“丢失的”索引添加新行,并在所有对应列中填充NaN值
print(cities.reindex([0, 4, 5, 2]))

原文地址:https://www.cnblogs.com/anliven/p/10264475.html

时间: 2024-08-30 15:46:26

AI - MLCC - 04 - 使用TF的基本步骤02 - Pandas 简介的相关文章

[转]linux14.04下caffe的安装步骤

linux14.04下caffe的安装步骤 原文地址:http://blog.csdn.net/xiaoyang19910623/article/details/52997481?locationNum=1&fps=1 1.官网下载caffe-master,下载地址:https://github.com/BVLC/caffe,下载到downloads下: 2.解压安装包至downloads下: 3.先安装boost和OpenCV,因为这两个比较大,命令为: sudo apt-get instal

ubuntu12.04下lamp环境搭建步骤

1 .安装apache2:sudo apt-get install apache2 安装完成后,运行如下命令重启apache:sudo /etc/init.d/apache2 restart,在浏览器中输入http://localhost或者http://127.0.0.1,会看到"It works!"说明apache安装成功. 2.安装php: sudo apt-get install libapache2-mod-php5 php5; 安装扩展php5-gd:sudo apt-ge

ubuntu14.04中安装QuartusII9.1步骤

家里的计算机安装了WIN10,出于够用且安装文件小,想安装QuartusII9.1,按M$风格,驱动绝对是安不上的.正好是双系统ubuntu14.04 64位.安装过程不太顺利,记录下来,当作已经不灵光的大脑的备份. 按正常步骤安装好,并打好补丁SP1和SP2,基本顺利,这里注意的是,有的安装脚本中声明的SHELL是CSHELL,运行时有命令找不到,将声明中的CSH改为TCSH再安装即可. 接下来就是老大难的JTAG的USB BLASTER不能识别的问题. 由于ubuntu并不在官方支持的系统中

(原)使用1080Ti显卡时安装ubuntu16.04.1及驱动的步骤

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6811328.html 参考网址: http://www.cnblogs.com/darkknightzh/p/5638185.html http://abhay.harpale.net/blog/linux/nvidia-gtx-1080-installation-on-ubuntu-16-04-lts/ http://www.cnblogs.com/darkknightzh/p/5992693.h

ubuntu12.04安装node.js详细步骤

1.node需要运行在2.6或者2.7版本的python,ubuntu12.04自带的python是2.7所以就不用管了,也可以通过下面的代码来查看一下python的版本. python 2.安装nodeJS之前,如果没有安装g++及 libssl-dev,则先要安装好,安装方法如下: $ sudo apt-get install g++ $ sudo apt-get install libssl-dev 3.到下面的地址下载nodejs源码包, 记住一定是 Source Code,不要下了Li

ubuntu16.04配置openproject开发环境步骤

OpenProject开发环境搭建 系统要求:ubuntu-16.04.2-desktop-amd64.iso 系统安装教程参考: https://jingyan.baidu.com/article/359911f5afb04257fe0306c7.html 新系统安装ssh.vim.git 安装ssh sudo apt-get update sudo apt-get install openssh-server   #安装ssh(默认大部分已安装) sudo ps -aux|grep ssh

ubuntu16.04下安装mysql详细步骤

我们打开Xshell,通过如入命令安装mysql 依次输入这三条命令; sudo apt-get install mysql-server sudo apt install mysql-client sudo apt install libmysqlclient-dev 弄完一条再弄一条.如下所示:如入命令后再输入Y 然后回车就自动安装 第二条和第三条类似这样输入看提示进行安装.在安装过程需要设置数据库密码(在键盘输入数字时不要在右边的1234567890上按数字,那里的0代表ins,要在键盘上

AI - MLCC - 01 - 问题构建 (Framing):机器学习主要术语

什么是(监督式)机器学习?简单来说,它的定义:机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测. 问题构建 (Framing):机器学习主要术语 标签 标签是要预测的事物,即简单线性回归中的 y 变量. 标签可以是小麦未来的价格.图片中显示的动物品种.音频剪辑的含义或任何事物. 特征 特征是输入变量,即简单线性回归中的 x 变量. 简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,按如下方式指定: 在垃圾邮件检测器示例中,特征可能包括: 电

AI - MLCC - 02 - 深入了解机器学习 (Descending into ML)

线性回归 人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁. 数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录. Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一个模型,从而预测鸣叫声与温度的关系. 首先建议您将数据绘制成图表,了解下数据的分布情况: 图 1. 每分钟的鸣叫声与温度(摄氏度)的关系. 毫无疑问,此曲线图表明温度随着鸣叫声次数的增加而上升.鸣叫声与温度之间的关系是线性关系吗? 是的,您可以绘制一条直线来近似地