每当我在mysql中使用pandas sql进行查询时结果只有一行,我就无法从中选择值。
我的命令是:
result = psql.read_frame("select id,name,age from tb1 where id=1", con=conn)
然后它返回一个数据帧。但是我希望能够做到:
age = result['age']
但这不可能,因为它是一个数据帧。 (它创建了一个行的索引,所以这里是0)所以当我这样做时,我想把它变成一个系列或字典:
result = result.iloc[0]
我得到了
{'id': 1, 'name':'john','age':46}
当我尝试:
result = result.iloc[0].to_dict()
它有效,但我得到一个错误IndexError:index out of bounds。
如何创建此单行数据帧的系列或字典?
答案 0 :(得分:0)
只需将列选择器包含在loc
中,然后使用':'表示所有列:
result = result.iloc[0, :].to_dict()
假设第零行是您希望转换为字典的行。