网页设计与网站建设在线作业,网站建设中 动态图片,介绍湖北的网页制作,做兼职拍照片传网站数据读取
我们想要使用 Pandas 来分析数据#xff0c;那么首先需要读取数据。大多数情况下#xff0c;数据都来源于外部的数据文件或者数据库。Pandas 提供了一系列的方法来读取外部数据#xff0c;非常全面。下面#xff0c;我们以最常用的 CSV 数据文件为例进行介绍。
…数据读取
我们想要使用 Pandas 来分析数据那么首先需要读取数据。大多数情况下数据都来源于外部的数据文件或者数据库。Pandas 提供了一系列的方法来读取外部数据非常全面。下面我们以最常用的 CSV 数据文件为例进行介绍。
读取数据 CSV 文件的方法是 pandas.read_csv()你可以直接传入一个相对路径或者是网络 URL。
df pd.read_csv(path/name.csv)
df
df.head() # 默认显示前 5 条
df.tail(7) # 指定显示后 7 条
df.describe() #escribe() 相当于对数据集进行概览会输出该数据集每一列数据的计数、最大值、最小值等。
df.values #Pandas 基于 NumPy 开发所以任何时候你都可以通过 .values 将 DataFrame 转换为 NumPy 数组。
df.columns # 查看列名 结果Index([Zip Code, Total Population, Median Age, Total Males,Total Females, Total Households, Average Household Size],dtypeobject)
df.index # 查看索引 结果RangeIndex(start0, stop319, step1)
df.shape # 查看行列大小由于 CSV 存储时是一个二维的表格那么 Pandas 会自动将其读取为 DataFrame 类型。
pd.read_ 前缀开始的方法还可以读取各式各样的数据文件且支持连接数据库。这里我们不再依次赘述你可以阅读 官方文档相应章节 熟悉这些方法以及搞清楚这些方法包含的参数。
通过上面的内容我们已经知道一个 DataFrame 结构大致由 3 部分组成它们分别是列名称、索引和数据。 df pd.DataFrame([{one: 1, two: 4},{one: 2, two: 5},{one: 3, two: 6},{777: 3, 888: 6}])
dfonetwo77788801.04.0NaNNaN12.05.0NaNNaN23.06.0NaNNaN3NaNNaN3.06.0
这个是输出结果我们可以看到相同的键就会合并会在一列上面然后根据索引位置摆放不同的键就会单独做一列然后更具索引位置摆放数据有些地方没有数据就是NaN 一定要自己操作体验一下 在数据处理和分析中NaN 是一个常见的术语代表 “Not a Number”。它是一个特殊的浮点值用于表示未定义或不可表示的值。在 Pandas 中NaN 通常用来表示缺失或空缺的数据。
以下是关于 NaN 的几个要点
数据缺失的表示在 Pandas 的 DataFrame 或 Series 中NaN 用于表示缺失的或未知的数据。数学运算中的行为NaN 与任何数字进行数学运算的结果都是 NaN这是为了避免给出错误的计算结果。数据清洗在数据分析过程中经常需要处理 NaN 值。常用的方法包括删除含有 NaN 的行或列、用特定值填充 NaN例如平均值、中位数等或使用插值方法估算 NaN 的值。检测和过滤Pandas 提供了函数如 isna() 或 notna() 来检测数据中的 NaN 值以便进行过滤或其他处理。
数据选择
数据预处理过程中我们往往会对数据集进行切分只将需要的某些行、列或者数据块保留下来输出到下一个流程中去。这也就是所谓的数据选择或者数据索引。
由于 Pandas 的数据结构中存在索引、标签所以我们可以通过多轴索引完成对数据的选择。
基于索引数字选择
当我们新建一个 DataFrame 之后如果未自己指定行索引或者列对应的标签那么 Pandas 会默认从 0 开始以数字的形式作为行索引并以数据集的第一行作为列对应的标签。其实这里的「列」也有数字索引默认也是从 0 开始只是未显示出来。
所以我们首先可以基于数字索引对数据集进行选择。这里用到的 Pandas 中的 .iloc 方法。该方法可以接受的类型有
整数。例如5整数构成的列表或数组。例如[1, 2, 3]布尔数组。可返回索引值的函数或参数。
下面我们使用上方的示例数据进行演示。
首先我们可以选择前 3 行数据。这和 Python 或者 NumPy 里面的切片很相似。
df.iloc[:3] #第一到第三行
df.iloc[5] #第五行
df.iloc[[1, 3, 5]] #单独选择需要的行选择列是不是很简单几乎和切片一模一样
选择行学会以后选择列就应该能想到怎么办了。例如我们要选择第 2-4 列。
df.iloc[:, 1:4] #前面是不是全部的行都要呀之后就是2-4列的切片基于标签名称选择
除了根据数字索引选择还可以直接根据标签对应的名称选择。这里用到的方法和上面的 iloc 很相似少了个 i 为 df.loc[]
df.loc[] 可以接受的类型有
单个标签。例如2 或 a这里的 2 指的是标签而不是索引位置。列表或数组包含的标签。例如[A, B, C]。切片对象。例如A:E注意这里和上面切片的不同之处首尾都包含在内。布尔数组。可返回标签的函数或参数。
df.loc[0:2] #0,12行包含首尾Zip CodeTotal PopulationMedian AgeTotal MalesTotal FemalesTotal HouseholdsAverage Household Size091371173.50111.001900015711026.62846828642129714.402900025122325.52487626347117314.36
再选择 135 行
df.loc[[0, 2, 4]]Zip CodeTotal PopulationMedian AgeTotal MalesTotal FemalesTotal HouseholdsAverage Household Size091371173.50111.002900025122325.52487626347117314.364900046218034.83130230878225472.73
然后选择 2-4 列是列所以需要输入列名
df.loc[:, Total Population:Total Males]Total PopulationMedian AgeTotal Males0173.5015711026.62846825122325.52487636626626.33263146218034.831302…………3143815828.418711315213843.311213161891032.4949131738844.5263318728530.93653
最后选择 13 行和 Median Age 后面的列
df.loc[[0, 2], Median Age:]Median AgeTotal MalesTotal FemalesTotal HouseholdsAverage Household Size073.50111.00225.52487626347117314.36