获取一行 Pandas DataFrame 作为具有正确类型的类似 dict 的对象 [英] Get a row of a pandas DataFrame as a dict-like object with correct types
本文介绍了获取一行 Pandas DataFrame 作为具有正确类型的类似 dict 的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如以字典形式获取pandas中的一行数据,可以从pandas
DataFrme
使用 loc
:
As suggested in Get a row of data in pandas as a dict, one can extract a row from a pandas
DataFrme
using loc
:
df1 = pd.DataFrame([{"a":1.0,"b":2,"c":3}]).set_index("c")
df1.loc[3].to_dict()
返回 {'a': 1.0, 'b': 2.0}
- 唉,这是错误,因为 b
值应该是 2
而不是 2.0
.
returns {'a': 1.0, 'b': 2.0}
- alas, this is wrong because the b
value should be 2
and not 2.0
.
如何提取具有正确类型的行?
推荐答案
一个想法是使用 [[]]
for one row DataFrame
,在我看来有点复杂:
One idea is use [[]]
for one row DataFrame
, a bit ovecomplicated in my opinion:
d = df1.loc[[3]].to_dict(orient='record')[0]
print (d)
{'a': 1.0, 'b': 2}
问题是如果通过 loc
(df1.loc[3]
) 然后 float
列向上转换整数列创建系列.
Problem is if create Series by loc
(df1.loc[3]
) then float
column upcast integer(s) columns.
这篇关于获取一行 Pandas DataFrame 作为具有正确类型的类似 dict 的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文