连接熊猫数据帧时,整数变为浮点数

gab*_*how 6 python dataframe pandas

我有 2 个熊猫数据框:

df1 是一个空数据框: import pandas as pd import numpy as np

df1 = pd.DataFrame(columns=['Start','End','Duration'])

df1
Out[1]:
Empty DataFrame
Columns: [Start, End, Duration]
Index: []
Run Code Online (Sandbox Code Playgroud)

df2 包含:

df2 = pd.DataFrame(np.array([None] * 3).reshape(-1,3),columns=['Start','End','Duration'])
df2['Start'] = 483
df2['End'] = 523
df2['Duration'] = 0.8

df2
Out[2]: 
       Start  End  Duration
    0    483  523      0.8


df2['Start']
Out[3]: 
0    483
Name: Start, dtype: int64
Run Code Online (Sandbox Code Playgroud)

我想连接 2 个数据帧:

df1= pd.concat([df1, df2], ignore_index=True)[df1.columns.tolist()]
Run Code Online (Sandbox Code Playgroud)

df1 是:

df1
Out[4]: 
   Start    End  Duration
0  483.0  523.0    0.8
Run Code Online (Sandbox Code Playgroud)

正如你现在看到的“开始”和“结束”是浮动的......有没有办法让它们保持完整?

Tba*_*aki 1

您可以使用astype

df1[['Start','End']] = df1[['Start','End']].astype(int)
Run Code Online (Sandbox Code Playgroud)

输出:

   Start  End  Duration
0    483  523       0.8
Run Code Online (Sandbox Code Playgroud)