我有一些完全混乱的Excel表,我根本不知道如何处理它们。
情况是这样的:我已经将Excel文件导入到Python中,并且我注意到有些变量要用相同的特定值替换为零。具体来说,我的数据具有一些将观察值分组的分类变量,并且在每个类别中,只有一个列的值不是零,我希望该值替换组中的所有零。
以下是我的数据外观的示例:
|categorical1|categorical2|var_to_be_modified|
|--- |--- |--- |
|A |x |0 |
|A |x |0 |
|A |x |15 |
|A |x |0 |
|A |y |26 |
|A |y |0 |
|A |y |0 |
|B |x |0 |
|B |x |0 |
|B |x |0 |
|B |x |20 |
|B |y |0 |
|B |y |0 |
|B |y |2 |
这就是我想要的样子:
|categorical1|categorical2|var_to_be_modified|
|--- |--- |--- |
|A |x |15 |
|A |x |15 |
|A |x |15 |
|A |x |15 |
|A |y |26 |
|A |y |26 |
|A |y |26 |
|B |x |20 |
|B |x |20 |
|B |x |20 |
|B |x |20 |
|B |y |2 |
|B |y |2 |
|B |y |2 |
我尝试过
df['var_to_be_modified'] = df['var_to_be_modified'].replace(0, np.nan).ffill()
但是由于某些非零值不在每个类别的“开始”位置,因此无法按我的意愿运行。
有什么办法吗?