读取数据框时获取浮点值

Getting float values while reading Data Frame

我的 csv 文件中有 Sr.no 列 包含所有整数值,但会将其读取为 pandas 数据框,为什么一些整数值会转换为浮点数?

I have Data set contain following records

When i load it as Data Frame it shows like this

These are n th records of same data set

But this time in Data Frame SR.NO column it is showing float values

这是类型支配。
检查这个例子:

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))


    A   B
0   1   2
1   3   4  <---- ALL INTEGERS

和:

df2 = pd.DataFrame([[np.nan, 6], [7, 8]], columns=list('AB'))

    A   B
0   NaN 6
1   7.0 8 <-- NOT INTEGER

可以看到,7 -> 7.0。
还有更多:

df.append(df2, ignore_index=True)

    A   B
0   1.0 2
1   3.0 4
2   NaN 6
3   7.0 8

Pandas 自动定义列的类型。
要更改此设置,请使用 pd.read_csv(..., dtype={'PUT_COL_NAME_HERE': PUT_TYPE_HERE})pd.astype()