亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

用增量數填充數據列值,Python 3.6

用增量數填充數據列值,Python 3.6

繁星coding 2021-11-09 20:05:21
我有 Dataframe 包含列 + "Order" 列,該列具有整數唯一編號,并且某些行為零。我需要從“訂單”值的最大值用增量數更新零。例如:Max Value of df['Order'] = 4 并且有 3 條記錄 df['Order'] == 0 那么具有 0 值的那 3 行需要用 5、6、7 填充。我試過下面的腳本:Dimension_Items = {'Col1':['A', 'B', 'C', 'D', 'E', 'F'], 'Order':[0,2,3,4,0,0]}Dimension_Items = pd.DataFrame.from_dict(Dimension_Items)Max_Order = Dimension_Items['Order'].max()Dimension_Items.loc[Dimension_Items['Order'] == 0, 'Order'] = range(Max_Order+1, len(Dimension_Items)+1)錯誤:Traceback (most recent call last):    Dimension_Items.loc[Dimension_Items['Order'] == 0, 'Order'] = range(Max_Order+1, len(Dimension_Items)+1)  File "C:\Python36\lib\site-packages\pandas\core\indexing.py", line 189, in __setitem__    self._setitem_with_indexer(indexer, value)  File "C:\Python36\lib\site-packages\pandas\core\indexing.py", line 606, in _setitem_with_indexer    raise ValueError('Must have equal len keys and value 'ValueError: Must have equal len keys and value when setting with an iterable給出錯誤,請幫助解決這個問題
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

因此,如果我理解正確,我們可以隔離零,然后用列表中的值填充它們。


l = range(df.Order.max() + 1, df.Order.max() + df.loc[df.Order == 0, 'Order'].size + 1)


df.loc[df.Order == 0, 'Order'] = l


  Col1  Order

0    A      5

1    B      2

2    C      3

3    D      4

4    E      6

5    F      7 


查看完整回答
反對 回復 2021-11-09
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

您可以遍歷 DataFrame 以查找 Order = 0 的項目,然后使用 max_order + 1 更新每個 Order。試試這個:


import pandas as pd


data = {


? ? 'Col1': ['A', 'B', 'C', 'D', 'E', 'F'],?

? ? 'Order': [0, 2, 3, 4, 0, 0]


}


df = pd.DataFrame(data)


max_order = df['Order'].max()


for i in range(len(df)):


? ? if df.loc[i, 'Order'] == 0:

? ? ? ? df.loc[i, 'Order'] = max_order + 1

? ? ? ? max_order += 1


df.head()

輸出:


? ? Order? ?Value

0? ? ? A? ? ? ? 5

1? ? ? B? ? ? ? 2

2? ? ? C? ? ? ? 3

3? ? ? D? ? ? ? 4

4? ? ? E? ? ? ? 6

希望這可以幫助。


查看完整回答
反對 回復 2021-11-09
  • 2 回答
  • 0 關注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號