[英]How to slice a pandas dataframe by columns using a mix of array of labels and slice of objects?
[英]How do I slice array labels in python pandas?
熊猫数据框标签可以是数组,例如代替['a','b','c'],因为我的列为[(0,10),(1,11),(2,12)]。
我的数组称为df,我只有2行,即0和1。
我想对数组进行切片,以便为第0行获得列(1,11)和(2,12)的结果。
使用
a.loc[0,[(1,11)]:[(2,12)]]
要么
a.loc[0,[(1,11):(2,12)]]
似乎不起作用,出现各种错误,例如
TypeError:无法散列的类型:“列表”或语法错误:无效的语法
还有其他建议吗?
我对此很陌生,所以请保持温柔,以防我成为白痴。
谢谢你的帮助
试试a[[(1, 11), (2, 12)]].loc[0]
。
我认为没有任何方法可以要求切片元组,但是您可以指定它们的完整列表 。
通常,使用元组作为列标签是不方便的。 也许这些是MultiIndex的一部分。 如果有更简单的方法来组织数据,我建议您仅将其作为最后的选择。
您可以使用ix方法:
>>> df = pd.DataFrame(np.random.randn(2, 4),
... columns=[(0,1),(2,3),(3,4),(5,6)],
... index=list('ab'))
>>> df.ix['a', 1:3]
(2, 3) -0.17856
(3, 4) 0.34741
Name: a, dtype: float64
>>> df.ix['a', [(0,1), (2,3)]]
(0, 1) 0.567471
(2, 3) -0.178560
Name: a, dtype: float64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.