总结使用pandas中遇到的问题
小数点的精度
在pandas里面有round,可以做四舍五入,但如果是只保留给定的位数,不做精度处理呢?那就不能使用round函数了。
代码语言:javascript复制import pandas as pd
data = pd.DataFrame([[1.4354,2.65656,3.764534,4.5768564],[434.3436,76.2476,867.35,34.1354]],
columns = ['A','B','C','D'])
data
A B C D
0 1.4354 2.65656 3.764534 4.576856
1 434.3436 76.24760 867.350000 34.135400
## round
data.round(2)
A B C D
0 1.44 2.66 3.76 4.58
1 434.34 76.25 867.35 34.14
## 只做小数点的截取,引入新的函数
def export_result(num):
num_x , num_y = str(num).split('.')
num = float(num_x '.' num_y[0:2])
return num
data.applymap(export_result)
A B C D
0 1.43 2.65 3.76 4.57
1 434.34 76.24 867.35 34.13
## 注意,若是data中有一列为整数,就会报错,这时需要将类型做转换
data = data.astype("float")
data.applymap(export_result)