Google 机器学习编程笔记一——Pandas基础用法

首先介绍Pandas的基础用法:
1、基础概念:
pandas 中的主要数据结构被实现为以下两类:

DataFrame,您可以将它想象成一个关系型数据表格,其中包含多个行和已命名的列。
Series,它是单一列。DataFrame 中包含一个或多个 Series,每个 Series 均有一个名称。
在这里插入图片描述
在这里插入图片描述
2、文件读取:

#read_csv方法将链接的数据文件导入
california_housing_dataframe = pd.read_csv("https://download.mlcc.google.cn/mledu-datasets/california_housing_train.csv", sep=",")
#describe方法显示当前数据的相关描述信息,包括平均值,计数值等信息
california_housing_dataframe.describe()
#head方法显示数据中的前几个数据
california_housing_dataframe.head()
#使用matplotlib的hist方法可以显示当前数据的灰度图
california_housing_dataframe.hist('housing_median_age')

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
3、访问数据:
使用python的dict方法和list方法可以访问,列出的第一种方法是使用下标,第二种方法是使用切片方法在这里插入图片描述
4、操控数据:

可以使用基础运算指令或者numpy给出的运算指令对数据进行处理,注意在这里是直接用方法或者函数处理,不需要赋值(与java方法区别开)

#将population的Series对应数据除以1000
population / 1000.
#使用numpy中自带的数学函数方法
import numpy as np
np.log(population)
#对于更复杂的单列转换,您可以使用 Series.apply。像 Python 映射函数一样,Series.apply 将以参数形式接受 lambda 函数,而该函数会应用于每个值。下面示例创建了一个指明 population 是否超过 100 万的新 **Series**:
population.apply(lambda val: val > 1000000)

5、数据索引:

Series 和 DataFrame 对象也定义了 index 属性,该属性会向每个 Series 项或 DataFrame 行赋一个标识符值。

默认情况下,在构造时,pandas 会赋可反映源数据顺序的索引值。索引值在创建后是稳定的;也就是说,它们不会因为数据重新排序而发生改变。
在这里插入图片描述
调用 DataFrame.reindex 以手动重新排列各行的顺序。例如,以下方式与按城市名称排序具有相同的效果:
在这里插入图片描述
重建索引是一种随机排列 DataFrame 的绝佳方式。在下面的示例中,我们会取用类似数组的索引,然后将其传递至 NumPy 的 random.permutation 函数,该函数会随机排列其值的位置。如果使用此重新随机排列的数组调用 reindex,会导致 DataFrame 行以同样的方式随机排列。
在这里插入图片描述
在这里插入图片描述
练习1:
通过添加一个新的布尔值列(当且仅当以下两项均为 True 时为 True)修改 cities 表格:
①城市以圣人命名。
②城市面积大于 50 平方英里。
注意: 布尔值 Series 是使用“按位”而非传统布尔值“运算符”组合的。例如,执行逻辑与时,应使用 &,而不是 and。
提示:“San” 在西班牙语中意为 “saint”。

#两个判断条件,第一个条件由于需要判断当前数据的特征,相对复杂,因此可以使用apply方法返回一个特征Series,第二个可直接使用基础比较方法,两个Series获取成功之后使用按位与获取最终的特征布尔值序列
cities['result'] = (cities['Area square miles'] > 50) & cities['City name'].apply(lambda name: name.startswith('San'))
cities

在这里插入图片描述
练习2:
reindex 方法允许使用未包含在原始 DataFrame 索引值中的索引值。请试一下,看看如果使用此类值会发生什么!您认为允许此类值的原因是什么?
解决:如果您的 reindex 输入数组包含原始 DataFrame 索引值中没有的值,reindex 会为此类“丢失的”索引添加新行,并在所有对应列中填充 NaN 值:
在这里插入图片描述

发布了36 篇原创文章 · 获赞 11 · 访问量 2896

猜你喜欢

转载自blog.csdn.net/yeweij226/article/details/103858595