[英]pandas error in dropping column with complex column name
出於實際原因,我需要使用復雜元組定義列名。 問題是我不能像往常一樣丟棄列。 要復制我的問題,
complex_column_name = (u'CHRIS/CME_SP1', 34, ((u'CHRIS/CME_SP1_Settle_rolling_200_mean_to_current_value', 1),))
pd_tmp = pd.DataFrame(np.random.randn(4,1),columns=[complex_column_name])
pd_tmp.drop(complex_column_name,axis=1)
錯誤是:
ValueError: setting an array element with a sequence
有幫助嗎? 謝謝。
這不是設置列名的有效方法,所以改為使用布爾掩碼並選擇列而不是刪除它,即
mask = pd_tmp.columns != complex_column_name
ndf = pd_tmp.iloc[:,mask]
復制代碼后,我收到以下消息。
...\Anaconda3\lib\site-packages\numpy\core\numeric.py in asarray(a, dtype, order)
480
481 """
--> 482 return array(a, dtype, copy=False, order=order)
483
484 def asanyarray(a, dtype=None, order=None):
ValueError: setting an array element with a sequence
輸入數據,可以轉換為數組的任何形式。 這包括列表,元組列表,元組,元組元組,列表元組和ndarray。
這里的complex_column_name
是一個復雜的序列,不包含在上面。
我的建議是使你的complex_column_name
更簡單。 希望這可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.