博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python笔记:Pandas DataFrame 加载数据的方式
阅读量:4250 次
发布时间:2019-05-26

本文共 1943 字,大约阅读时间需要 6 分钟。

为什么要加载不同的数据

因为我们很有可能会使用来自很多来源的数据库训练学习算法。Pandas 使我们能够将不同格式的数据库加载到 DataFrame 中。

加载数据格式 csv

  • 用于存储数据库的最热门数据格式是 csv
  • CSV 是指逗号分隔值, 是一种简单的数据存储格式
  • pd.read_csv() 函数将 CSV 文件加载到 Pandas DataFrame
Salary_data = pd.read_csv('./salary.csv')# 我们输出关于 Google_stock 的一些信息print('Salary_data is of type:', type(Salary_data))print('Salary_data has shape:', Salary_data.shape)
  • 使用 .head() 方法查看前 5 行数据
Salary_data.head()
  • .tail() 方法查看最后 5 行数据
Salary_data.head()
  • 我们还可以选择使用 .head(N).tail(N) 分别显示前 N 行和后 N 行数据

  • 快速检查下数据集中是否有任何 NaN 值, 我们将使用 .isnull() 方法,然后是 .any() 方法,检查是否有任何列包含 NaN 值

Salary_data.isnull().any()
  • 通过使用 Pandas 的 .describe() 方法,可以获取关于 DataFrame 每列的描述性统计信息
Salary_data.describe()
  • 也可对单列应用 .describe() 方法
Salary_data['你的某列标签名'].describe()

使用 Pandas 提供的很多统计学函数查看某个统计信息

# 查看每列最大值print(Salary_data.max())# 查看某一列的最小值print(Salary_data['某一列的标签'].min())# 查看每列平均值print(Salary_data.mean())

另一个重要统计学衡量指标是数据相关性

  • 使用 .corr() 方法获取不同列之间的关联性: 关联性值为 1 表明关联性很高,关联性值为 0 告诉我们数据根本不相关。
Salary_data.corr()

以不同的方式对数据分组

  • .groupby() 方法使我们能够以不同的方式对数据分组
# 加载假公司的数据到DataFrame中data = pd.read_csv('./fake_company.csv')data

这里写图片描述

  • 我们来计算公司每年在员工薪资上花费的数额。为此,我们将使用 .groupby()方法按年份对数据分组,然后使用 .sum() 方法将所有员工的薪资相加。
data.groupby(['Year'])['Salary'].sum()

输出:

Year1990     1530001991     1620001992     174000Name: Salary, dtype: int64
  • 现在假设我们想知道每年的平均薪资是多少。为此,我们将使用 .groupby()方法按年份对数据分组,就像之前一样,然后使用 .mean() 方法获取平均薪资。
data.groupby(['Year'])['Salary'].mean()

输出:

Year1990     510001991     540001992     58000Name: Salary, dtype: int64
  • 现在让我们看看每年每个部门的薪资分配状况。在这种情况下,我们将使用.groupby()方法按照YearDepartment对数据分组,之后我们会把每个部门的薪资加起来
data.groupby(['Year', 'Department'])['Salary'].sum()

输出:

Year     Department1990    Admin              55000             HR                    50000             RD                    480001991    Admin              60000             HR                    52000             RD                    500001992    Admin            122000             RD                    52000Name: Salary, dtype: int64
你可能感兴趣的文章
TCP/IP详解笔记(一)
查看>>
501. Find Mode in Binary Search Tree
查看>>
504. Base 7
查看>>
593. Valid Square
查看>>
494. Target Sum
查看>>
463. Island Perimeter
查看>>
TCP协议粗析
查看>>
653. Two Sum IV - Input is a BST
查看>>
spark rdd 和 DF 转换
查看>>
RDD 基础操作
查看>>
RDD基本操作(下)
查看>>
##########(python 解析参数方法 可用) Python optionParser模块的使用方法 #######
查看>>
org.apache.hadoop.io.compress系列1-认识解码器/编码器
查看>>
pyspark-combineByKey详解
查看>>
从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社
查看>>
FM算法详解
查看>>
FM算法能够学习到原始特征的embedding表示
查看>>
Factorization Machines 学习笔记
查看>>
Spark入门实战系列--9.Spark GraphX介绍及实例
查看>>
倾情大奉送--Spark入门实战系列
查看>>