我有一个 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
但不能一次性完成一整列
非常感谢
最佳答案
您有两个选择:
转换列类型(甚至整个数据框):
df[column] = df[column].astype(int)
或者使用numpy的floor方法(对于你的例子中的正 float )
df[column] = np.floor(df[column])
关于python - Pandas 在数据框中保留数字列的 int 部分的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097024/