gpt4 book ai didi

python - 强制 pandas .iloc 返回单行数据框?

转载 作者:IT老高 更新时间:2023-10-28 21:17:22 26 4
gpt4 key购买 nike

出于编程目的,我希望 .iloc 始终返回一个数据帧,即使结果数据帧只有一行。如何做到这一点?

目前,当结果只有一行时,.iloc 返回一个系列。示例:

In [1]: df = pd.DataFrame({'a':[1,2], 'b':[3,4]})

In [2]: df
Out[2]:
a b
0 1 3
1 2 4

In [3]: type(df.iloc[0, :])
Out[3]: pandas.core.series.Series

这种行为不好有两个原因:

  • 根据选择的行数,.iloc 可以返回一个系列或一个数据框,这迫使我在我的代码中手动检查这一点

- .loc,另一方面,总是返回一个数据框,使 pandas 内部不一致 (错误信息,如所指出在评论中)

对于 R 用户,这可以通过 drop = FALSE 或使用 tidyverse 的 tibble 来完成,默认情况下它总是返回一个数据帧。

最佳答案

使用双括号,

df.iloc[[0]]

输出:

   a  b
0 1 3

print(type(df.iloc[[0]])

<class 'pandas.core.frame.DataFrame'>

df.iloc[[0],:]的缩写

关于python - 强制 pandas .iloc 返回单行数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45990001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com