簡體   English   中英

基於 Pandas 中的另一列創建新列

[英]Create new column on basis of another column in Pandas

我在 Dataframe 中有一個名為 STATUS 的列,其中包含值“AMEND ORDER”或為空。 我需要在該列的基礎上創建一個 FLAG,如果它的值在值中包含AMEND字,則設置 FLAG 1 或 0。我正在嘗試使用下面的代碼,但它出錯了。

t[t['STATUS'].str.contains('AMEND')] 

如果空是缺失值或None s 通過|鏈接另一個掩碼對於按位OR並強制轉換為整數以用於True -> 1, False - > 0映射:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].isna()).astype(int)

如果空為空字符串,則通過Series.eq比較值:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].eq('')).astype(int)

這可能是一種方法

mydat.loc[mydat['Status']=="",'flag']=0
mydat.loc[mydat['Status']=="AMEND ORDER",'flag']=1

狀態標志

0 修改訂單 1.0

1 修改訂單 1.0

  1. “…………” 0.0

3 修改訂單 1.0

4“…………”0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM