假设我创建了一个空数据框:
df = pd.DataFrame()
我通过df.append()
添加词典:
df.append({'A': 'foo', 'B': 'bar'}, ignore_index=True)
这给了我
的预期结果 A B
0 foo bar
但是,如果dict值中有任何布尔值,即
df.append({'A': True, 'B': False}, ignore_index=True)
布尔值被转换为浮子。
A B
0 1.0 0.0
为什么会发生这种情况?如何防止这种转换?如果可能的话,我宁愿不对完成的数据帧做任何事情(也就是说,不希望从浮动强制转换为布尔值)。
编辑:找到了我自己的解决方案,但仍想知道上述行为发生的原因。我的解决方案是:
df.append(pd.DataFrame.from_dict({'A': True, 'B': False}, orient='index').T, ignore_index=True)
这给出了所需的
A B
0 True False
答案 0 :(得分:0)
您可以在追加之前将dict转换为DataFrame,以保持数据类型的一致性:
$sql = "SELECT * FROM ".$this->standardsTable." WHERE Standard LIKE '%".$this->keyword."%' ";
$results = $this->conn->query($sql);