[英]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.select
與Series.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.