[英]How to create a new column based on Date Values & Condition in Pandas dataframe
[英]How to create a new column in pandas dataframe based on a condition?
我有一個包含以下列的數據框:
d = {'find_no': [1, 2, 3], 'zip_code': [32351, 19207, 8723]}
df = pd.DataFrame(data=d)
當 zip_code 列中有 5 位數字時,我想返回 True。 當沒有 5 位數字時,我想返回“find_no”。 示例 output 的結果將添加到 dataframe 的列中,對應於它引用的行。
你可以試試 np.where:
import numpy as np
df['result'] = np.where(df['zip_code'].astype(str).str.len() == 5, True, df['find_no'])
這種方法的唯一缺點是 NumPy 會將您的 True 值轉換為 1,這可能會造成混淆。 保持你想要的價值觀的一種方法是
import numpy as np
df['result'] = np.where(df['zip_code'].astype(str).str.len() == 5, 'True', df['find_no'].astype(str))
這里的缺點是你通過將它們轉換為字符串而失去了這些值的意義。 我想這完全取決於您希望實現的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.