pandas 将multiple column从float64改为int32

3htmauhk  于 2023-04-10  发布在  其他
关注(0)|答案(2)|浏览(141)

p/s I am new to python using Jupyter
嗨,我在获取信息的过程中尝试将float 64的x,y,z列dtype转换为int 32,以下是结果

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 14640 entries, 0 to 14639
Data columns (total 3 columns):
#   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
0   Lat     14640 non-null  float64
1   Lon     14640 non-null  float64
2   SSS     14640 non-null  float64
dtypes: float64(3)
memory usage: 343.2 KB

但是,我不知道如何将它转换为int 32的每一列。是否有任何方法将float 64的多列转换为int 32。
我真的需要Maven的帮助来转换这些数据

mefy6pfw

mefy6pfw1#

您可以按照以下方式使用pandas.DataFrame.astype

import pandas as pd
df_float64 = pd.DataFrame({"x":[1.1,2.2,3.3],"y":[4,5,6],"z":[7,8,9]},dtype="float64")
df_int32 = df_float64.astype("int32")
print(df_int32)

给出输出

x  y  z
0  1  4  7
1  2  5  8
2  3  6  9

注意这将应用于所有列。

wpcxdonn

wpcxdonn2#

就像这样:

df['col'] = df['col'].astype(int)

如果有多个列,则可以使用以下命令一次更改:

df[["A", "B"]] = df[["A", "B"]].astype(int)

相关问题