【问题标题】:filter result in new column在新列中过滤结果
【发布时间】:2020-01-11 00:29:37
【问题描述】:

我有一个如下的熊猫文件结构(python 3)

详情 AMT AA(AED) QP 7 可湿性粉剂 8 ST 9 AB(美元) RR 6 RA 8 DA(印度卢比) DRS 5 DRW 3 悉尼科技大学 6

我希望输出如下(python 3)

详细信息 AMT 日志 AA(AED) AA(AED) QP 7 可湿性粉剂 8 ST 9 AB(美元) AB(美元) RR 6 室温 8 DA(印度卢比) DA(印度卢比) DRS 5 DRW 3 悉尼科技大学 6

【问题讨论】:

  • df['Log'] = df['Particulars'] ?我在这里错过了什么吗?

标签: pandas filter


【解决方案1】:

试试这个:

df['LOG'] = None
df['LOG'] = df[df['Particulars'].str.contains(r'\w+\(\w+\)')].reindex(range(0,len(df))).fillna('') 

输出:

   Particulars AMT      LOG
0      AA(AED)      AA(AED)
1           QP   7         
2           WP   8         
3           ST   9         
4      AB(USD)      AB(USD)
5           RR   6         
6           RA   8         
7      DA(INR)      DA(INR)
8          DRS   5         
9          DRW   3         
10         UTS   6   

【讨论】:

【解决方案2】:
temp=df.Particulars.fillna("0")
df['LOG'] = pd.np.where(temp.str.contains("0"),"",
                   pd.np.where(temp.str.contains(r'\(\w+\)'), df['Particulars'],''))
df

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-18
    • 2021-12-06
    • 2019-08-13
    • 2018-05-20
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多