【问题标题】:Get a row of a pandas DataFrame as a dict-like object with correct types获取一行 pandas DataFrame 作为具有正确类型的 dict-like 对象
【发布时间】:2021-05-07 22:34:59
【问题描述】:

正如Get a row of data in pandas as a dict 中所建议的,可以使用locpandas DataFrme 中提取一行:

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

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

【问题讨论】:

    标签: python pandas dataframe types


    【解决方案1】:

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

    d = df1.loc[[3]].to_dict(orient='record')[0]
    print (d)
    {'a': 1.0, 'b': 2}
    

    问题是如果通过loc (df1.loc[3]) 创建系列然后float 列向上转换整数列。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 2016-11-03
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多