当前位置: 首页 > 面试题库 >

通过标签选择的熊猫有时返回Series,有时返回DataFrame

谭俊
2023-03-14
问题内容

在Pandas中,当我选择一个索引中只有一个条目的标签时,我会得到一个“序列”,但是当我选择一个具有多于一个条目的标签时,我就会得到一个数据框。

这是为什么?有没有办法确保我总是取回数据帧?

In [1]: import pandas as pd

In [2]: df = pd.DataFrame(data=range(5), index=[1, 2, 3, 3, 3])

In [3]: type(df.loc[3])
Out[3]: pandas.core.frame.DataFrame

In [4]: type(df.loc[1])
Out[4]: pandas.core.series.Series

问题答案:

可以肯定的是,这种行为是不一致的,但是我认为很容易想到这种情况很方便。无论如何,要每次获取一个DataFrame,只需将一个列表传递给即可loc。还有其他方法,但我认为这是最干净的方法。

In [2]: type(df.loc[[3]])
Out[2]: pandas.core.frame.DataFrame

In [3]: type(df.loc[[1]])
Out[3]: pandas.core.frame.DataFrame


 类似资料:
  • 问题内容: 假设我有一个时间戳值的DataFrame : 我想创建一个新列。我可以通过编写一个简短的函数并使用它来迭代地创建它来创建它: 然后,我将看到以下结果: 什么我 想 实现的是这样一些较短的转变(我知道是错误的,但在精神得到): 显然,该列是类型的,因此没有这些属性,但是似乎有一种使用矩阵运算的简单方法。 有更直接的方法吗? 问题答案: 假设时间戳是数据帧的索引,则可以执行以下操作: 如果

  • 问题内容: 我有一个熊猫DataFrame ,。它包含一列“大小”,以字节为单位表示大小。我已经使用以下代码计算了KB,MB和GB: 我已经运行了超过120,000行,并且根据%timeit,每列花费的时间约为2.97秒* 3 =〜9秒。 无论如何,我可以使它更快吗?例如,我是否可以代替一次套用并运行3次而不是一次返回一列,而是可以一次通过返回所有三列以将其插入回原始数据帧吗? 我发现的其他问题都

  • 我是一个新手Python程序员,我有一个问题加载pd.read_excel()函数的xlsx工作簿。熊猫read_excel留档说,指定'sheet_name=无'应该返回"所有工作表作为DataFrames的字典",但是我得到了一个空字典回来: 返回: 当我尝试在字典中打印工作表名称时: 返回: 我不清楚为什么输出字典中没有列出工作表。任何提示都非常感谢。

  • 问题内容: 在Node.js中使用Mongoose,您可以使用find返回一些字段。例如。 但我似乎无法弄清楚如何使用findOneAndUpdate返回某些字段。 有人做到过吗?我在文档中找不到它。 问题答案: 从说明书,该参数需要一个关键的它,因为还有其他的细节,比如和地方适用。您 还 需要以下选项: 您也可以使用 请注意,没有返回的文档处于处理更新修改 之前 的状态。有时候这就是您的意思,但

  • 当工作与熊猫Dataframe对象和使用条件选择从DataFrame它给出了一个错误如下,而我看到通过一些视频在木星笔记本上相同的作品。 然而,它清楚地说明了下面的错误,但我没有找到解决方法,即使我在各种SO帖子上搜索过,但没有得到相同的错误解决方案 TypeError:' 下面是我在puthon3.6中使用的代码内容。 任何帮助或方向都非常感谢,而我仍然在寻找自己。

  • 当我使用Java的MessageDigest计算BigInteger的SHA-256哈希时,我遇到了一些奇怪的行为。看起来哈希值有时有256位,但有时只有255位。这是我用来测试BigInteger哈希的代码: (是的,我正在使用JUnit 4)。此测试在第三个测试编号上失败,其中第二个断言失败,出现“预期256,但为255” 我在字节数组之间转换大整数的方式有什么问题吗?我能找到的所有Java的