Pandas DataFrame 加载数据的方式

为什么要加载不同的数据

因为我们很有可能会使用来自很多来源的数据库训练学习算法。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()

输出:

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

输出:

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

输出:

Year     Department
1990    Admin              55000
             HR                    50000
             RD                    48000
1991    Admin              60000
             HR                    52000
             RD                    50000
1992    Admin            122000
             RD                    52000
Name: Salary, dtype: int64

猜你喜欢

转载自blog.csdn.net/Tyro_java/article/details/81407197
今日推荐