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

Python:基于某些行appers的pandas数据框中的两列(变量)获得频率计数

申炳
2023-03-14
问题内容

您好,我有以下数据框。

    Group           Size

    Short          Small
    Short          Small
    Moderate       Medium
    Moderate       Small
    Tall           Large

我想计算同一行出现在数据框中的次数。

    Group           Size      Time

    Short          Small        2
    Moderate       Medium       1 
    Moderate       Small        1
    Tall           Large        1

问题答案:

您可以使用groupby的size

In [11]: df.groupby(["Group", "Size"]).size()
Out[11]:
Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64

In [12]: df.groupby(["Group", "Size"]).size().reset_index(name="Time")
Out[12]:
      Group    Size  Time
0  Moderate  Medium     1
1  Moderate   Small     1
2     Short   Small     2
3      Tall   Large     1


 类似资料:
  • 问题内容: 所以我有一个pandas DataFrame看起来像这样: 我希望按位置过滤掉所有不会出现至少20次的行。我看过这样的东西 但这似乎不起作用,而且我不了解如何从中获取原始数据框。先谢谢您的帮助。 问题答案: 在您的有限数据集上,以下工作: 您可以分配此过滤器的结果,并将其用于过滤orig df: 您只需要更改为您的情况 另一种方法是用于创建聚合系列,然后我们可以使用它来过滤您的df:

  • 问题内容: 我有一个数据集 我希望能够返回类似的信息(显示唯一的值和频率) 问题答案: 使用和: 请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html 另外,正如所说,这里有很多方法可以给猫皮 如果要向原始数据帧添加频率,请使用transform返回对齐的索引:

  • 问题内容: 假设我有两个这样的DataFrame: 我想创建一个新的DataFrame,它由在两个矩阵中具有匹配的“ S”和“ T”条目的行以及dfA的prob列和dfB的knstats列组成。结果应类似于以下内容,并且顺序相同很重要: 问题答案: 您可以合并它们,以便: 删除NA行:

  • 问题内容: 我想计算每个值出现在数据框中的次数。 这是我的数据框- : 我想对字典进行计数: 例如 我试过了,但它给了而且也没有用。 问题答案: 您可以使用和:

  • 问题内容: 假设我有一个df包含的列。我定义一个函数: 现在,我要应用f到df的两列,以逐元素的计算新列,有点像: 怎么做 ? 如下添加详细样本 * 问题答案: 这是apply在数据框上使用的示例,我正在用进行调用。 请注意,区别在于,与其尝试将两个值传递给该函数f,不如重写该函数以接受pandas Series对象,然后对Series进行索引以获取所需的值。 根据你的用例,有时创建一个对象然后在

  • 问题内容: 我有2个数据框,如下所示: 最后,我想得到的是: 因此,我想比较两个数据帧,我想查看第一数据帧(对于列A和B)的哪些行与第二数据帧(列K和L)相同,并在第一数据帧的列D上分配1。 我可以使用for循环,但是输入大量条目会很慢。 任何线索或建议将不胜感激。 问题答案: 这是我解决的方法: