我正在为一些案例研究运行几个模拟,结果存储在这个
的csv文件中/ Var1 Var2 Var3
0 x x x
1 x x x
2 x x x
3 x x x
0 x x x
1 x x x
2 x x x
我试图做的是用案例名称替换第一列(每个案例的模拟腰椎的索引)。我想要做的是让csv像这样读:
/ Var1 Var2 Var3
Case1 x x x
Case1 x x x
Case1 x x x
Case1 x x x
Case2 x x x
Case2 x x x
Case2 x x x
我想过添加一个条件,如果第一列中的数字为0,则用case替换它,当找到下一个0时,继续使用case + 1(我已经得到了这个案例)向量中的名称)
我的问题是,我不知道如何访问第一行中的值并对其进行评估,然后替换它们。我想象大熊猫必须有一种方便的方法来做这样的事情
答案 0 :(得分:1)
让我们试试groupby
,cumcount
和set_index
:
df.set_index('Case'+df.groupby(df.index).cumcount().add(1).astype(str))
输出:
Var1 Var2 Var3
Case1 x x x
Case1 x x x
Case1 x x x
Case1 x x x
Case2 x x x
Case2 x x x
Case2 x x x