我正在尝试对数据帧进行滚动计数。我遇到的问题是指定条件,因为它是字符串,而不是整数。下面的数据帧是一个片段,还有一个字典片段。在
GameID Event
0 100 NaN
1 100 NaN
2 100 Ben
3 100 NaN
4 100 Steve
5 100 Ben
6 100 NaN
7 100 Steve
8 100 NaN
9 100 NaN
10 101 NaN
11 101 NaN
12 101 Joe
13 101 NaN
14 101 Will
15 101 Joe
16 101 NaN
17 101 Will
18 101 NaN
19 101 NaN
gamedic = {'100':['Ben','Steve'], '101':['Joe','Will']}
最终,我希望数据帧如下所示。我为这个例子命名了Ben和Steve这两个列,但实际上它们将是第一列和第二列,与它们在字典中的位置相对应。在
^{pr2}$我不确定这是一个复杂的问题,还是我在熊猫身上遗漏了一些显而易见的东西。整个弦的概念让我很难开始。在
首先,您需要使用字典来获得只包含“First”和“second”的列。我想不出一个聪明的方法来实现这一点,所以让我们迭代一下行:
您可以使用
^{pr2}$pd.get_dummies
将字符串列(表示类别变量)转换为指示符变量;在您的示例中,这将为您提供您可以使用
pd.concat
将这些添加到原始数据帧中:然后你可以用
groupby.cumsum
得到你的累计和,就像@Brian的答案一样这就是你要找的吗?在
{a1}
相关问题 更多 >
编程相关推荐