假设我有以下数据框:
df1 = {'Column_1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'x': ['0', '1', '2', '3', '0', '1', '2', '3']}
df1 = pd.DataFrame (df1, columns = ['Column_1','x'])
df1
我想创建一个名为“x!”的新列。这是通过将“x”行中的值乘以“x!”的第 1 行来计算的。'x!' 的第一行中的值 是1。当'Column_1'中的值发生变化时,我需要计算重置。所需的输出将是以下内容:
df2 = {'Column_1': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
'x': ['0', '1', '2', '3', '0', '1', '2', '3'],
'x!': ['1', '1', '2', '6', '1', '1', '2', '6']}
df2 = pd.DataFrame (df2, columns = ['Column_1','x', 'x!'])
df2
其中“x”是 3,“x!” 是 6,因为 3 x 2 (x! row-1 = 2) 等于 6。
我该怎么做?
谢谢