当加载到Pandas列时,没有值的数组更改为浮点数

wkyowqbh  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(91)

我有一个数组,

[None, None, None,101, 555, 756, 924, 485]

字符串
当我将它加载到pandas列中时,它们将变为浮点数(我猜是因为None值)

import pandas as pd

the_array = [None, None, None, 101, 555, 756, 924, 485]

df = pd.DataFrame(columns=['request'])
df['request'] = the_array

print(df)


输出看起来像

request
0      NaN
1      NaN
2      NaN
3    101.0
4    555.0
5    756.0
6    924.0
7    485.0


你能告诉我怎么解决这个问题吗?基本上我需要的是

request
0      NaN
1      NaN
2      NaN
3      101
4      555
5      756
6      924
7      485

bnl4lu3b

bnl4lu3b1#

pandas 1.0.0中,pd.NA dtype被引入到handle things like this中。使用pd.Int64Dtype或类似的,你可以保留你的整数,空值将被pd.NA替换。

import pandas as pd

the_array = [None, None, None, 101, 555, 756, 924, 485]

df = pd.DataFrame(
    data=the_array,
    columns=["request"],
    dtype="Int64",  # string alias for `pd.Int64Dtype()`
)
print(df)

个字符

资源

相关问题