第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

遍歷行,請求輸入超過 0 的項目,存儲響應(yīng)

遍歷行,請求輸入超過 0 的項目,存儲響應(yīng)

qq_遁去的一_1 2022-07-05 15:33:25
我有一個簡單的 DF,我使用 groupby 和 sum 進行清理?,F(xiàn)在我想遍歷每一行,如果 orderqty 的值 >0,請詢問用戶“我們分配了多少這個項目 {項目名稱}?” 然后存儲此響應(yīng)。存儲的響應(yīng)需要保留 itmdesc(項目名稱)。目標是稍后迭代未分組的數(shù)據(jù)幀,并通過將現(xiàn)有數(shù)字除以存儲的響應(yīng)數(shù)為每一行創(chuàng)建一個新列。示例 DF 和代碼:顯然此代碼不起作用,但我對將輸入與 iterrows 結(jié)合起來感到非常迷茫。我遇到了無數(shù)錯誤,當前錯誤是“str”對象不可調(diào)用。先感謝您。for i, row in sums.iterrows():      if sums.orderqty > 0:          num = int(input("How many (row.itmdesc[i]) were we allocated?"))    orderqtyitmdesc ALCATEL 1X EVOLVE   72ALCATEL 3V  50ALCATEL 7   0ALCATEL GO FLIP 0ALCATEL GO FLIP 3   28ALCATEL JOY TAB 53
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

我可以從后面看到您的第三行需要縮進。此外,如果您要同時遍歷兩個對象,則需要正常使用 zip() 函數(shù)。我通常不使用 .iterrows 來遍歷表,我喜歡執(zhí)行以下操作;


這將帶您瀏覽所有列和每個列中的所有行,您還可以遍歷索引或范圍(len(df)),這將為您提供一個可以與 df.iloc[rownum,colnum] 一起使用的 num

for i in df:

    print(i)

    for j in df[i]:

        print(i,j)

如果您變得緩慢和詳細,還列出生成器可能會有所幫助。


它們遵循下面的一般語法并且可以嵌套;


obj = [i if i > 0 else 0 for i in iterable]

編輯:我也認為您的字符串被轉(zhuǎn)換為 int 存在一個主要問題。您無法將整個字符串轉(zhuǎn)換為 int,這就是您正在做的事情


查看完整回答
反對 回復 2022-07-05
?
九州編程

TA貢獻1785條經(jīng)驗 獲得超4個贊

解決方案實際上非常簡單。遍歷行,將響應(yīng)存儲為列表,然后將列表作為列添加到 Dataframe。類型不一樣,所以我需要更改類型,然后我可以根據(jù)需要在新列中執(zhí)行數(shù)學運算。當我重構(gòu)所有內(nèi)容時,也許是一種更清潔的方法,但現(xiàn)在啟動并運行!謝謝大家。


allocations= []

for i, j in sums.iterrows():

    answer = input(f"How much of {i} were we allocated?")

    allocations.append(answer)


sums['allocation'] = allocations

sums = sums.astype({'orderqty':float,'allocation':float})

sums['order_percent'] = sums['orderqty']/sums['allocation']


查看完整回答
反對 回復 2022-07-05
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號