日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ValueError: Must have equal len keys and value when setting with an iterable

發布時間:2025/4/16 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ValueError: Must have equal len keys and value when setting with an iterable 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個錯誤是數值大小錯誤

具體的意思是: 必須有相同長度的關鍵字跟值,當設置的對象是一個可迭代的對象的時候。

  • 可迭代的對象,就是想tuple,list,字典一類的。

遇到這個錯誤,我故意在做測試的時候。

具體的代碼

這段代碼是有錯誤的,錯誤部分已經標記出來了

import pandas as pdif __name__ == '__main__':df = pd.DataFrame({'AAA': range(5), 'BBB': list('abcde'), 'CCC': ['a', 12, 1.2, ['alist'], (1, 2)]})print(df)df.loc[df.AAA >= 2, 'BBB'] = '-Changed'print(df)df.loc[df.AAA >= 3, 'CCC'] = [1, 3, 3] # 錯了print(df)

知道問題在哪之后,這個該怎么解決呢?

我們先把這個語句,還有這個dataframe單獨拿出來看

df.loc[df.AAA >= 3, ‘CCC’] = [1, 3, 3]

  • dataframe在此!
AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d [alist] 4 4 e (1, 2)

接下來,我將前面那些沒有問題代碼去掉。只用那個生成的來做探索
這里,分別對于這個函數的理解,或者說是用途,做出兩種不同解法。
第一種:將這個長度改為相等的。
將這個語句做下面的修改。

df.loc[df.AAA >= 3, ‘CCC’] = [1, 3]

源碼被我改成這樣,輸出的結果就會發生改變

import pandas as pdif __name__ == '__main__':df = pd.DataFrame({'AAA': range(5), 'BBB': list('abcde'), 'CCC': ['a', 12, 1.2, ['alist'], (1, 2)]})print(df)df.loc[df.AAA >= 3, 'CCC'] = [1, 3]print(df) AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d [alist] 4 4 e (1, 2)AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d 1 4 4 e 3

注意到了沒有,在后面的部分,CCC被按照迭代的方式,順序的放到了對應的位置當中。

第二種方法: 如果我想要讓每個地方都變成對應的的list怎么弄呢?
可以將代碼改成下面這樣子!這樣就可以避免到了不斷地取找迭代的對象接著去迭代,使得會報錯!
import pandas as pdif __name__ == '__main__':df = pd.DataFrame({'AAA': range(5), 'BBB': list('abcde'), 'CCC': ['a', 12, 1.2, ['alist'], (1, 2)]})print(df)df.loc[df.AAA >= 3, 'CCC'] = [frozenset((1, 2)), frozenset((1, 3))]print(df)

這時候的輸出的結果是:

AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d [alist] 4 4 e (1, 2)AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d (1, 2) 4 4 e (1, 3)

最后,老套路,宣傳一波自己的公眾號!(求關注哇!)
本人中大一肥宅,歡迎大家關注,請掃下面的二維碼(〃’▽’〃)


如果覺得有幫助的話,可以掃碼,贊賞鼓勵一下!謝謝!


總結

以上是生活随笔為你收集整理的ValueError: Must have equal len keys and value when setting with an iterable的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。