[英]In pandas, what is the difference between [list] and [[list]]?
如果這個問題已經得到解答,我很抱歉,但我真的不知道其中任何一個的不同名稱(對象或列表或數組?),所以我仍然感到困惑。
我只是好奇這個問題的后續行動。
Pandas:在嘗試合並數據幀時出現“TypeError:只有 integer 標量 arrays 可以轉換為標量索引”
以及伊利亞斯的回答。
為什么[[list]]
導致錯誤
只有 integer 標量 arrays 可以轉換為標量索引
但是[list]
沒有?
您在鏈接問題中談到的相關代碼是:
df1 = pd.DataFrame({'a': [1, 2]})
df2 = pd.DataFrame({'b': [3, 1]})
df1.columns = [['b']] # WRONG
df1.columns = ['b'] # CORRECT
df1.merge(df2, on='b')
df.columns
必須是列標簽列表1 ,每個標簽代表一列的名稱。 在錯誤的版本中,您將其設置為一個元素列表,其元素本身就是一個列表(不是字符串),因此是錯誤的。
1列標簽直接來自DataFrame.columns
的文檔,字符串是一種有效值(盡管不是唯一的,請參閱下面的注釋)。 另一方面,列表會生成一個 MultiIndex(在“錯誤”版本之后嘗試print (df1.columns)
),這會導致稍后在調用merge
時出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.