簡體   English   中英

熊貓新列if語句

[英]pandas new column if statement

我有一個數據框,我想使用if語句為其添加列值。 我一直在嘗試lambda函數,但是還沒有碰運氣。 我想添加一列,說如果threshold <order,然后將新列設置為threshold,否則將列設置為order。

df_new

  Order       Threshold  
 20,000        100,000
 500,000       50,000
 100,000       75,000

我試過了:

 df_new['New Column'].apply(lambda x: df_new['Threshold'] if < df_new['Order'] else df_new['Order Quantity'])

有時使用避免if / else構造的算法會有所幫助。 下面的解決方案可能更有效,而且增加了一些直觀的邏輯。

import pandas as pd, numpy as np

df = pd.DataFrame({'Order': [20000, 500000, 100000],
                   'Threshold': [100000, 50000, 75000]})

df['New'] = np.minimum(df['Threshold'], df['Order'])

#     Order  Threshold    New
# 0   20000     100000  20000
# 1  500000      50000  50000
# 2  100000      75000  75000

暫無
暫無

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

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