python - Pandas 在数据框中保留数字列的 int 部分的方法

标签 python pandas

我有一个 float 的数据框(df)列:

0       59.9179
1       50.3874
2       50.3874
3       55.0089
4        58.423
5       58.8227
6       55.2471
7       57.2266
8       46.4312
9       59.9097
10      57.1417

pandas 有没有办法保留数字的整数部分并丢弃小数部分,因此结果列如下所示:

0       59
1       50
2       50
3       55
4       58
5       58
6       55
7       57
8       46
9       59
10      57

我可以找到一种方法来为 1 个号码执行此操作

>>> s = 59.9179
>>> i, d = divmod(s, 1)
>>> i
59

但不能一次性完成一整列

非常感谢

最佳答案

您有两个选择:

  1. 转换列类型(甚至整个数据框):

    df[column] = df[column].astype(int)
    
  2. 或者使用numpy的floor方法(对于你的例子中的正 float )

    df[column] = np.floor(df[column])
    

关于python - Pandas 在数据框中保留数字列的 int 部分的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097024/

相关文章:

python - 在两个不同的 pandas 数据帧之间搜索和替换值

python - 尽管有 mask 区域,但从一个平面映射到另一个平面

python - 如何比较 pandas/python 中的两行重叠

python - 删除时区信息

python - 在 FTPS 服务器上使用 ftplib 列出目录时 sslobj.do_handshake 中的 "OSError: [Errno 0] Error"

python - 使用预定义的命名约定将单个 pandas 数据框划分为多个 csv 文件

python - Pandas 爆炸 - 无法从重复的轴重新索引

python - pandas 从 csv 文件中读取 MultiIndex 数据

python - 对已按降序分组的条形图值进行排序

python - 如何在另一个 python 文件中运行我的 python 文件?