[英]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.