簡體   English   中英

Python if 語句產生的新列

[英]Python new columns resulting from if statement

結果:ValueError:Series 的真值不明確。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

我有一個 dataframe

abcd = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 0]]),columns=['a', 'b', 'c'])

我想在此數據框中創建一個新列“d”,其中:如果列 c = 0,則其值為列 a + 列 b,如果列 c 在 1 和 3 之間,則其值為列 a,否則為列值為 10

我的代碼:

if (abcd.c == 0):
   abcd.d = abcd.a + abcd.b
elif abcd.c in range (0,4):
   abcd.d = abcd.a
else:
   abcd.d = 10

結果:ValueError:Series 的真值不明確。 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

numpy.selectSeries.isin用於測試成員資格:

abcd['d'] = np.select([abcd.c == 0, abcd.c.isin(range (0,4))], 
                      [abcd.a + abcd.b, abcd.a], 
                      default=10)

暫無
暫無

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

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