在数据库中的整数列中使用 Nan 将数据写入数据库
write data to database with Nan in a integer column in database
由于numpy.nan是python中的一种特殊的float类型,我有一个pandas.Dataframe,一些列由整数和Nan组成。正如我们所知,这些列将是 float 数据类型。我想将 CSV 文件 pandas.Dataframe.to_csv 复制到数据库。但是由于 CSV 中的那些列是浮点数据类型(即使我在 pandas 中为它们设置了 'object' 类型,但是当我这样做时它们被转换为浮点数。to_csv),但是 table 数据库中那些列的模式是整数类型,因此它们将被拒绝加载。这就是我遇到的问题。解决这个问题的好方法是什么?更改数据库架构不好。
例如我有一个数据 = pandas.Dataframe() 如下。 ID:float 值:float
ID Value
0 1001.0 500.0
1 1002.0 NaN
2 NaN 600.0
3 1003.0 800.0
我怎样才能创建这样的 csv:
ID|Value
1001|500
1002|
|600
1003|800
df.to_csv('yourfile.csv', sep='|', index=None, float_format='%0.0f')
ID|Value
1001|500
1002|
|600
1003|800
由于numpy.nan是python中的一种特殊的float类型,我有一个pandas.Dataframe,一些列由整数和Nan组成。正如我们所知,这些列将是 float 数据类型。我想将 CSV 文件 pandas.Dataframe.to_csv 复制到数据库。但是由于 CSV 中的那些列是浮点数据类型(即使我在 pandas 中为它们设置了 'object' 类型,但是当我这样做时它们被转换为浮点数。to_csv),但是 table 数据库中那些列的模式是整数类型,因此它们将被拒绝加载。这就是我遇到的问题。解决这个问题的好方法是什么?更改数据库架构不好。
例如我有一个数据 = pandas.Dataframe() 如下。 ID:float 值:float
ID Value
0 1001.0 500.0
1 1002.0 NaN
2 NaN 600.0
3 1003.0 800.0
我怎样才能创建这样的 csv:
ID|Value
1001|500
1002|
|600
1003|800
df.to_csv('yourfile.csv', sep='|', index=None, float_format='%0.0f')
ID|Value
1001|500
1002|
|600
1003|800