在pandas中,可以使用assign()
方法来添加Block列,以便将Trials[1,2,3]分组为1,2,3,4等。
下面是一个完整的示例代码:
import pandas as pd
# 创建一个示例数据框
data = {'Trials': [1, 2, 3, 1, 2, 3]}
df = pd.DataFrame(data)
# 添加Block列
df = df.assign(Block=(df['Trials'] != df['Trials'].shift()).cumsum())
# 打印结果
print(df)
输出结果如下:
Trials Block
0 1 1
1 2 2
2 3 3
3 1 4
4 2 5
5 3 6
在这个示例中,我们首先创建了一个包含Trials列的数据框。然后使用assign()
方法,通过比较当前行的Trials值与前一行的Trials值是否相等,来判断是否需要新建一个Block。使用shift()
函数可以将Trials列向下移动一行,使得当前行与前一行进行比较。最后,使用cumsum()
函数对判断结果进行累加,得到最终的Block列。
这样,Trials列中的[1,2,3]就被分组为了[1,2,3,4]。
领取专属 10元无门槛券
手把手带您无忧上云