Python 从数据帧中删除小数

Python 从数据帧中删除小数,python,pandas,Python,Pandas,我有一些数字,比如 24.00 2.00 3.00 我想要 24 2 3 我使用了.astype(int),round(),但我一直使用前者。如何使其工作?您需要重新分配dataframe (也就是说,我认为你的错误是): >>将熊猫作为pd导入 >>>df=pd.DataFrame(数据={“col”:[24.00,2.00,3.00]}) >>>df.dtypes 第64列 数据类型:对象 >>>df 上校 0 24.0 1 2.0 2 3.0 >>>df=df.a

我有一些数字,比如

24.00

2.00

3.00
我想要

24 

2 

3

我使用了.astype(int),round(),但我一直使用前者。如何使其工作?

您需要重新分配
dataframe
(也就是说,我认为你的错误是):

>>将熊猫作为pd导入
>>>df=pd.DataFrame(数据={“col”:[24.00,2.00,3.00]})
>>>df.dtypes
第64列
数据类型:对象
>>>df
上校
0  24.0
1   2.0
2   3.0
>>>df=df.astype(int)
>>>df
上校
0   24
1    2
2    3
>>>df.dtypes
第32列
数据类型:对象

您需要重新分配
数据帧
(也就是说,我认为你的错误是):

>>将熊猫作为pd导入
>>>df=pd.DataFrame(数据={“col”:[24.00,2.00,3.00]})
>>>df.dtypes
第64列
数据类型:对象
>>>df
上校
0  24.0
1   2.0
2   3.0
>>>df=df.astype(int)
>>>df
上校
0   24
1    2
2    3
>>>df.dtypes
第32列
数据类型:对象

您可以通过将pandas
选项
精度
设置为0来解决此问题

import pandas as pd
df = pd.DataFrame(data={"col": [24.00, 2.00, 3.00]})
print(df)
    col
0  24.0
1   2.0
2   3.0
pd.set_option('precision',0)
print(df)
   col
0   24
1    2
2    3

您可以通过将
选项
精度
设置为0来解决此问题

import pandas as pd
df = pd.DataFrame(data={"col": [24.00, 2.00, 3.00]})
print(df)
    col
0  24.0
1   2.0
2   3.0
pd.set_option('precision',0)
print(df)
   col
0   24
1    2
2    3

您的数据中是否缺少值?在熊猫数据帧中,只有浮点型列可能缺少数据。这可能是因为列中有
None
nan
。在这种情况下,列类型始终为
float
。另外,请注意,如果使用astype(np.int64)(或np.int32、np.int16等,取决于适合您的数据),pandas将比astype(int)工作得更好。您的数据中是否缺少值?在熊猫数据帧中,只有浮点型列可能缺少数据。这可能是因为列中有
None
nan
。在这种情况下,列类型总是
float
。另外,请注意,如果您使用astype(np.int64)(或np.int32、np.int16等,取决于适合您的数据),pandas将比astype(int)工作得更好。我相信OP已经尝试过
astype(int)
,但它没有工作。我最初没有设置df=df.astype(int),我相信OP已经试过了
astype(int)
,但它不起作用。我没有设置df=df。astype(int)最初,它现在起作用了