【发布时间】:2019-04-18 07:04:46
【问题描述】:
我正在使用 pandas read_sql_query 将数据从 MySQL 数据库表读取到 pandas 数据帧中。此表中的某些列具有所有 NULL 值。对于这些列,pandas 数据框的每一行都包含 None 。对于所有其他列,数据框包含 NaN,其中存在 NULL 值。谁能解释为什么所有 NULL 列都返回 None ?以及如何确保我拥有所有 NaN,希望不进行手动转换? 我应该补充一点,导致这个问题的两列是浮动的,第三列是双精度的,
编辑
这是一个例子。 pef 和 fer 列包含数据库中的所有 NULL。
from sqlalchemy import create_engine
import pandas as pd
import math
querystr = "SELECT * FROM dbname.mytable"
engine = create_engine('mysql+pymysql://username:password@localhost/' + "dbname")
df = pd.read_sql_query(querystr, engine)
df.head()
sys dias pef fer
0 NaN NaN None None
1 159.0 92.666 None None
2 NaN NaN None None
3 NaN NaN None None
4 102.0 63.333 None None
在 MySQL 数据库中,这些列定义为:
Columns:
sys float
dias float
pef float
fer float
我希望 pef 和 fer 列在每一行中都包含 NaN,而不是 None。
【问题讨论】:
-
您能否添加一个最小示例,说明您的数据在数据库中的样子、使用 Pandas 解析它们时的样子以及您希望它们出现的样子?只需编辑您的问题以包括那些+您当前正在使用的任何代码。
标签: python pandas sqlalchemy nan nonetype