Python 将数据帧的一行作为具有正确类型的类似dict的对象获取

Python 将数据帧的一行作为具有正确类型的类似dict的对象获取,python,pandas,dataframe,types,Python,Pandas,Dataframe,Types,如中所述,可以使用loc从DataFrme中提取行: df1=pd.DataFrame([{“a”:1.0,“b”:2,“c”:3}])。设置索引(“c”) df1.loc[3]。to_dict() 返回{'a':1.0,'b':2.0}-唉,这是错误的,因为b值应该是2而不是2.0 如何提取具有正确类型的行?一个想法是对一行数据帧使用[[]],在我看来有点复杂: d = df1.loc[[3]].to_dict(orient='record')[0] print (d) {'a': 1.0,

如中所述,可以使用
loc
DataFrme
中提取行:

df1=pd.DataFrame([{“a”:1.0,“b”:2,“c”:3}])。设置索引(“c”)
df1.loc[3]。to_dict()
返回
{'a':1.0,'b':2.0}
-唉,这是错误的,因为
b
值应该是
2
而不是
2.0


如何提取具有正确类型的行?

一个想法是对一行
数据帧使用
[[]]
,在我看来有点复杂:

d = df1.loc[[3]].to_dict(orient='record')[0]
print (d)
{'a': 1.0, 'b': 2}
问题是如果通过
loc
df1.loc[3]
)创建序列,那么
float
列向上转换整数列。

Wow!看那丑陋的样子!;-)而且它也很管用!