当前位置: 首页 > 知识库问答 >
问题:

是否有任何有效或高效的方法来找到净位置的数字从数据帧在python

靳彦
2023-03-14

我有一个多索引df,带有“海龟”列

|           |        | Turtle | Net Pos|
|-----------|--------|--------|--------|
|2004-11-04 |09:24   |6       |        |
|           |09:34   |2       |        |
|           |09:44   |0       |        |
|           |09:54   |4       |        |
|           |09:04   |1       |        |
|           |09:14   |2       |        |
|           |09:24   |9       |        |

turtle_factor = 3
base_quantity = 2

我需要的是“网络Pos”。我想不出一个优雅的方法。我需要的是使用Numpy或熊猫的colNet位置。数据集很大,需要使用递归并避免崩溃。

6将被分为6次1

1 1 1 1 1 1

第一个1将乘以基本数量,因此为1*2

第二个1将与第一个1的结果乘以海龟系数2*3

第四个1将与第三个1计算的结果相乘,乘以18*3以上的海龟因子,以此类推,最后求和,得到第一行的结果如下,为728

|           |        | Turtle | Net Pos|
|-----------|--------|--------|--------|
|2004-11-04 |09:24   |6       |    728 |
|           |09:34   |2       |      8 |
|           |09:44   |0       |      0 |
|           |09:54   |4       |     80 |
|           |09:04   |1       |      2 |
|           |09:14   |2       |      8 |
|           |09:24   |9       |  19682 |


共有1个答案

傅奕
2023-03-14

有一个简单的公式将Turtle映射到Net Pos。计算可以表示为几何级数乘以base_quantity的总和,产生下面的函数f

turtle_factor = 3
base_quantity = 2

def f(n):
  return base_quantity * (turtle_factor ** n - 1) // (turtle_factor - 1)

df = pd.DataFrame({
    "Turtle": [6, 2, 0, 4, 1, 2, 9],
})
df["Net Pos"] = f(df.Turtle)
 类似资料:
  • 我不想限制BigDecimal中有效位数的数量。我只想找到那个数字的有效位数。 有没有一种方法可以在不将数字转换为字符串并计算数字字符的情况下实现这一点?

  • 我有一个大约350个坐标的列表,这些坐标是指定区域内的坐标,我想使用Xarray从netCDF文件中提取这些坐标。如果它是相关的,我试图从一个特定的地表模型中提取SWE(雪水当量)数据。 我的问题是这个 for 循环需要永远遍历列表中的每个项目并获取相关的时间序列数据。也许在某种程度上这是不可避免的,因为我必须从每个坐标的 netCDF 文件中实际加载数据。我需要帮助的是以任何可能的方式加速代码。

  • 我找不到任何关于数学交换和堆栈溢出的问题来回答这个特定问题。这是我发现的最相似的问题,但这个问题构造得太差,答案完全不充分。 我尝试过在谷歌上寻找无济于事。我确实发现了这一点,但这个公式似乎效率低下,因此不够。例如,如果我们取数字21... 现在想象一下找到远大于21的数字的共同因素,例如2,252和4,082...上述方法没有任何效率。 我想做的是找出最有效的方法来找到任何两个数字的所有公因数。

  • 问题内容: 我想按顺序对数据帧中的财务数据执行自己的复杂操作。 例如,我正在使用以下来自的 MSFT CSV文件: 然后,我执行以下操作: 那是最有效的方法吗?考虑到对熊猫速度的关注,我认为必须有一些特殊的函数来迭代这些值,使它们也可以检索索引(可能通过生成器来提高内存效率)?不幸的是,只能逐列进行迭代。 问题答案: 熊猫的最新版本现在包括用于遍历行的内置函数。 或者,如果你想更快地使用它 但是,

  • 问题内容: 我希望与旧的VB6 函数在同一概念空间中存在某些东西吗? 问题答案: 要检查变量(包括字符串)是否为数字,请检查其是否不是数字: 无论变量内容是字符串还是数字,这都有效。 例子 当然,您可以根据需要对此进行否定。例如,要实现您给出的示例: 要将包含数字的字符串转换为数字: 仅当字符串 仅 包含数字字符时才有效,否则返回。 例子 将字符串宽松地转换为数字 有助于将“ 12px”转换为12

  • 给定,设置任意位数和位位置(0-63) 对位置X或更低的位进行计数或在X处的位未设置时返回0的最有效的方法是什么 注意:如果设置了该位,则返回值将始终至少为1 注意:这不是一个如何计算32位整数中设置位数的dup吗?因为它询问的是0到X范围以外的所有位