Numpy 在 Pandas DataFrame 中舍入条目
在本文中,我们将介绍如何使用Numpy来舍入Pandas DataFrame中的条目。在数据分析过程中,舍入是十分常见的需求。Pandas是数据科学家们最常使用的Python库之一,而Numpy是Pandas的基础。因此,学会如何使用Numpy来舍入Pandas DataFrame中的条目是很有意义的。
阅读更多:Numpy 教程
Pandas DataFrame简介
在介绍Numpy如何舍入Pandas DataFrame之前,我们先来了解一下Pandas DataFrame。
按照Pandas的官方文档的说法,“DataFrame是一个二维的、大小可变的、带有标签轴(行和列)的表格数据结构,可以将不同的数据类型(数值、字符串、布尔值等)存储为列(Column),DataFrame既有行索引,也有列索引。”
在Pandas DataFrame中,我们可以很容易地进行数据的读取、处理、分析和可视化。不过,有时候我们需要对DataFrame中的条目进行舍入,这时候就需要用到Numpy了。
Numpy舍入函数
Numpy提供了许多用于舍入的函数,常用的包括:
np.round(): 四舍五入;np.ceil(): 向上取整;np.floor(): 向下取整;np.trunc(): 截断。
这些函数可以应用于Numpy数组和Pandas DataFrame中的值。
下面,我们通过示例来演示Numpy如何舍入Pandas DataFrame中的条目。
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(5, 4), columns=list('ABCD'))
print(df)
# 使用np.round函数舍入df中的所有元素到1位小数
df_rounded = np.round(df, 1)
print(df_rounded)
# 使用np.ceil函数将df中所有元素向上取整
df_ceil = np.ceil(df)
print(df_ceil)
# 使用np.floor函数将df中所有元素向下取整
df_floor = np.floor(df)
print(df_floor)
# 使用np.trunc函数将df中所有元素截断到整数
df_trunc = np.trunc(df)
print(df_trunc)
这里,我们使用了np.random.randn()函数来生成一个5×4的随机的Pandas DataFrame,然后分别使用了np.round()、np.ceil()、np.floor()和np.trunc()函数来对df中的元素进行舍入操作。
运行上述代码,我们可以看到输出如下:
A B C D
0 0.009022 -0.504078 -0.339278 -2.068598
1 1.049130 -1.401157 -0.102119 -0.654601
2 -1.262498 -1.731020 -0.068730 0.014696
3 1.169179 -0.235948 0.314281 -0.587548
4 0.163028 1.408090 1.107000 -2.381018
A B C D
0 0.0 -0.5 -0.3 -2.1
1 1.0 -1.4 -0.1 -0.7
2 -1.3 -1.7 -0.1 0.0
3 1.2 -0.2 0.3 -0.6
4 0.2 1.4 1.1 -2.4
A B C D
0 1.0 -0.0 -0.0 -2.0
1 2.0 -1.0 -0.0 -0.0
2 -1.0 -1.0 -0.0 1.0
3 2.0 -0.0 1.0 -0.0
4 1.0 2.02.0 -2.0
A B C D
0 0.0 -1.0 -1.0 -2.0
1 1.0 -2.0 -1.0 -1.0
2 -2.0 -2.0 -1.0 0.0
3 1.0 -1.0 0.0 -1.0
4 0.0 1.0 1.0 -2.0
极客教程