删除具有复杂列名的列时出现pandas错误

时间:2017-10-30 00:41:33

标签: python pandas

出于实际原因,我需要使用复杂元组定义列名。问题是我不能像往常一样丢弃列。要复制我的问题,

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

有任何帮助吗?谢谢。

2 个答案:

答案 0 :(得分:2)

这不是设置列名的有效方法,所以改为使用布尔掩码并选择列而不是删除它,即

var table = $('#example').DataTable();
$(document).ready(function() {
                            var rowCount = table.data().count();
                            alert(rowCount);
                            });

答案 1 :(得分:1)

复制代码后,我收到以下消息。

...\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

根据numpy.asarray

  

以任何可转换为数组的形式输入数据。这个   包括列表,元组列表,元组,元组元组,元组元组   列表和ndarrays。

这里的complex_column_name是一个复杂的序列,不包含在上面 我的建议是让你complex_column_name更简单。 希望这可能会有所帮助。