我在数据框中有列(Column1),其中包含有关工作中心的信息以及我需要在空列(Column2)中分配这些工作中心名称的值,例如:
输入:
第1栏: | 第2栏: |
---|---|
WC1 | NaN |
123 | NaN |
456 | NaN |
789 | NaN |
abc | NaN |
fgh | NaN |
WC2 | NaN |
123 | NaN |
abc | NaN |
123 | NaN |
输出:
第1栏: | 第2栏: |
---|---|
WC1 | 厕所1 |
123 | WC1 |
456 | WC1 |
789 | WC1 |
abc | WC1 |
fgh | WC1 |
WC2 | 厕所2 |
123 | WC2 |
abc | WC2 |
123 | WC2 |
我尝试了很多东西并阅读了著名的DON'Thttps://stackoverflow.com/a/55557758但仍然不明白我应该使用什么,因为我希望循环逐一遍历每一行来分配WC1仅分配给最高值,当循环找到WC2时,它将停止将WC1分配给值
用途:
df['Column2'] = df['Column1'].where(df['Column1'].str.contains('WC')).ffill()
print (df)
Column1 Column2
0 WC1 WC1
1 123 WC1
2 456 WC1
3 789 WC1
4 abc WC1
5 fgh WC1
6 WC2 WC2
7 123 WC2
8 abc WC2
9 123 WC2