因为我们很有可能会使用来自很多来源的数据库训练学习算法。Pandas 使我们能够将不同格式的数据库加载到 DataFrame 中。
- 用于存储数据库的最热门数据格式是 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()
# 查看每列最大值
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()
方法按照Year
和Department
对数据分组,之后我们会把每个部门的薪资加起来
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