如何基于Pandas DataFrame的A、B列标记值新增分类Cat列
解法代码
import pandas as pd # 构造示例DataFrame df = {'A': ['aa','b',2,3,4,"bb",5,6,7,8],'B': ['aa',5,6,7,8,"bb",1,2,3,4]} df = pd.DataFrame(df) # 实现Cat列逻辑 # 1. 对A、B值相等的标记行存入对应值,其余行设为空值 df['Cat'] = df['A'].where(df['A'] == df['B']) # 2. 向前填充空值,继承上一个标记行的标识 df['Cat'] = df['Cat'].ffill() # 3. 标记行本身的Cat列置为空 df.loc[df['A'] == df['B'], 'Cat'] = ''
输出结果验证
运行上述代码后输出的df和预期完全一致:
A B Cat 0 aa aa 1 b 5 aa 2 2 6 aa 3 3 7 aa 4 4 8 aa 5 bb bb 6 5 1 bb 7 6 2 bb 8 7 3 bb 9 8 4 bb
内容的提问来源于stack exchange,提问作者Jagadeeshkumar Viswanathan
相关产品推荐
相关产品推荐

